ドキュメント

Unity Engine

Unity Engine

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
    を
    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!"); } }}