반응형
✔ 인터넷 파일 다운로드 및 저장 Get , Post
UnityWebRequest, WWW Class,
인터넷에 URL을 통해 다운로드한 파일을 로컬로 저장하는 방법입니다.
인터넷 URL을 통해 데이터를 얻어올때에는 UnityWebRequst 클래스를 사용하여 불러옵니다.
(구 버전은 WWW 클래스)
UnityWebRequest 클래스는 UnityEngine.Networing을 using해야합니다.
UnityWebRequest 클래스에는 Get , Post 방식 모두 포함되어 있습니다.
● Get 방식의 테스트 샘플 예제
해더정보가 필수적으로 들어갈 경우에는 SetRequestHeader(string,string) 을 통해 해더정보를 포함하여 요청한다.
using System.IO;
using UnityEngine;
using UnityEngine.Networking;
public class Test : MonoBehaviour
{
string FilePath = "c:\파일.dwg";
void Start()
{
StartCoroutine(DownLoadGet("https://파일 다운로드 URL"));
}
public IEnumerator DownLoadGet(string URL)
{
UnityWebRequest request = UnityWebRequest.Get(URL);
//해더 정보 필요시
//request.SetRequestHeader("key", "timebox");
yield return request.SendWebRequest();
//에러 발생시
if (request.result == UnityWebRequest.Result.ConnectionError || request.result == UnityWebRequest.Result.ProtocolError )
{
Debug.Log(request.error);
}
else
{
//다운로드 데이터를 파일로 저장
File.WriteAllBytes(FilePath, request.downloadHandler.data);
}
}
}
● Post 방식 샘플 예제
using UnityEngine;
using UnityEngine.Networking;
using System.Collections;
public class TestPost : MonoBehaviour
{
void Start()
{
StartCoroutine(Login());
}
IEnumerator Login()
{
WWWForm form = new WWWForm();
form.AddField("User", "KIM");
form.AddField("PASS", "1234");
using (UnityWebRequest www = UnityWebRequest.Post("http://URL", form))
{
yield return www.SendWebRequest();
//에러 발생시
if (www.result != UnityWebRequest.Result.Success)
{
Debug.Log(www.error);
}
else
{
//완료 처리
}
}
}
}
json 데이터 전송 및 업로드의 다양한 응용방법은 아래 포스트를 참조해주세요.
2021.04.21 - [Programming/Unity] - [Unity] UnityWebRequest로 json 데이터를 Http body에 Post로 전달방법
감사합니다.
반응형
'Programming > Unity' 카테고리의 다른 글
[Unity] EventSystem.current - 클릭했을때 UI인지 Gameobject인지 구별하기 (0) | 2021.05.10 |
---|---|
[Unity] UnityWebRequest로 json 데이터를 Http body에 Post로 전달방법 (4) | 2021.04.21 |
[Unity3D] Unity에서 C# 스크립트 클릭 시 Visual Studio 안열림, 무반응 [ 해결법 ] (0) | 2021.01.07 |
[Unity3D] Unity Remote 5 동작 되지 않는 문제 [해결법] (1) | 2020.12.31 |
[Unity3D] Unity에서 Window OpenDialog 사용 (9) | 2020.12.23 |
댓글