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

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

    一些现代Web应用程序更喜欢通过HTTP PUT动词上传文件。对于这种情况,Unity提供了该UnityWebRequest.PUT功能。

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

    功能签名:

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

    细节

    此函数创建UnityWebRequest并设置内容类型application/octet-stream。该功能附加一个标准DownloadHandlerBufferUnityWebRequest。与POST函数一样,您可以使用它从应用程序返回结果数据。该功能将输入的上传数据存储在标准UploadHandlerRaw对象中并将其附加到标准对象中UnityWebRequest。因此,如果使用该byte[]函数,则在UnityWebRequest.PUT调用之后对字节数组所做的更改不会反映到上载到服务器的数据中。

    1. using UnityEngine;
    2. using UnityEngine.Networking;
    3. using System.Collections;
    4. public class MyBehavior : MonoBehaviour {
    5. void Start() {
    6. StartCoroutine(Upload());
    7. }
    8. IEnumerator Upload() {
    9. byte[] myData = System.Text.Encoding.UTF8.GetBytes("This is some test data");
    10. UnityWebRequest www = UnityWebRequest.Put("http://www.my-server.com/upload", myData);
    11. yield return www.SendWebRequest();
    12. if(www.isNetworkError || www.isHttpError) {
    13. Debug.Log(www.error);
    14. }
    15. else {
    16. Debug.Log("Upload complete!");
    17. }
    18. }
    19. }

    ?