Unity Web Request Uploading Raw Data
Upload raw data to a server with an HTTP PUT request using UnityWebRequest.Put.
読み終わるまでの所要時間 2 分最終更新 1ヶ月前
最近一般的に使用される ウェブアプリケーションの中には、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に設定します。POST 関数と同様に、この関数をアプリケーションから結果のデータを返すのに使用できます。UnityWebRequest - この関数は入力アップロードデータを標準の オブジェクトに格納し、それを
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!"); } }}