HTTP 서버로 양식 보내기(POST)
고급 작업: LLAPI 사용

HTTP 서버에 원시 데이터 업로드(PUT)

참고: UNet은 지원이 중단되었으며 향후 Unity에서 삭제될 예정입니다. 현재 새로운 시스템이 개발 중입니다. 자세한 내용과 다음 단계는 이 블로그 포스트FAQ를 참조하십시오.

일부 최신 웹 애플리케이션은 HTTP PUT 동사를 통해 파일을 업로드하는 것을 선호합니다. 이 시나리오의 경우 Unity는 UnityWebRequest.PUT 함수를 제공합니다.

이 함수는 두 가지 인수를 사용합니다. 첫 번째 인수는 문자열이며, 요청에 타겟 URL을 지정합니다. 두 번째 인수는 문자열 또는 바이트 배열이며, 서버에 전송할 페이로드 데이터를 지정합니다.

함수 시그니쳐:

WebRequest.Put(string url, string data);
WebRequest.Put(string url, byte[] data);

세부 정보

  • 이 함수는 UnityWebRequest를 생성하고, 콘텐츠 타입을 application/octet-stream으로 설정합니다.
  • 이 함수는 표준 DownloadHandlerBufferUnityWebRequest에 연결합니다. POST 함수와 마찬가지로, 이 함수를 사용하여 애플리케이션에서 결과 데이터를 반환할 수 있습니다.
  • 이 함수는 표준 UploadHandlerRaw 오브젝트에 입력 업로드 데이터를 저장하고, UnityWebRequest에 연결합니다. 그 결과 byte[] 함수를 사용하는 경우 UnityWebRequest.PUT 호출 이후 바이트 배열의 변경 사항은 서버에 업로드된 데이터에 반영되지 않습니다.

예제

using UnityEngine;
using UnityEngine.Networking;
using System.Collections;
 
public class MyBehavior : MonoBehaviour {
    void Start() {
        StartCoroutine(Upload());
    }
 
    IEnumerator Upload() {
        byte[] myData = System.Text.Encoding.UTF8.GetBytes("This is some test data");
        UnityWebRequest www = UnityWebRequest.Put("http://www.my-server.com/upload", myData);
        yield return www.SendWebRequest();
 
        if(www.isNetworkError || www.isHttpError) {
            Debug.Log(www.error);
        }
        else {
            Debug.Log("Upload complete!");
        }
    }
}
HTTP 서버로 양식 보내기(POST)
고급 작업: LLAPI 사용