# Unity Web Request Uploading Raw Data

> Upload raw data to a server with an HTTP PUT request using UnityWebRequest.Put.

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

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

함수 시그니쳐:

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

## 세부 정보

* 이 함수는 `UnityWebRequest`를 생성하고 콘텐츠 유형을 `application/octet-stream`으로 설정합니다.
* 이 함수는 표준 `DownloadHandlerBuffer`를 `UnityWebRequest`에 연결합니다. 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("https://www.my-server.com/upload", myData);
        yield return www.SendWebRequest();
 
        if (www.result != UnityWebRequest.Result.Success) {
            Debug.Log(www.error);
        }
        else {
            Debug.Log("Upload complete!");
        }
    }
}
```
