最近一般的に使用される ウェブアプリケーションの中には、HTTP PUT メソッドを使ってファイルをアップロードすることが好ましいものがあります。このような場合のために、Unity は UnityWebRequest.PUT 関数を提供します。
この関数は 2 つの引数を取ります。最初の引数は文字列で、リクエストのターゲット URL を指定します。2 番目の引数は、文字列かバイト配列のいずれかで、サーバーに送信されるペイロードデータを指定します。
関数シグネチャ
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("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!");
        }
    }
}