版本:Unity 6 (6000.0)
语言:英语
向 HTTP 服务器发送表单 (POST)
高级操作:使用 LLAPI

将原始数据上传到 HTTP 服务器 (PUT)

某些现代 Web 应用程序更倾向于通过 HTTP PUT 动词上传文件。对于这种场景,Unity 提供了 UnityWebRequest.PUT 函数。

此函数采用两个参数。第一个参数是一个字符串,并指定请求的目标 URL。第二个参数可以是字符串或字节数组,并指定要发送到服务器的负载数据。

函数签名

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

详细信息

  • 此函数创建一个 UnityWebRequest,并将 content type 设置为 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!");
        }
    }
}
向 HTTP 服务器发送表单 (POST)
高级操作:使用 LLAPI