Legacy Documentation: Version 5.3
LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

UnityWebRequest.Put

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

public static function Put(uri: string, bodyData: byte[]): Experimental.Networking.UnityWebRequest;
public static Experimental.Networking.UnityWebRequest Put(string uri, byte[] bodyData);
public static function Put(uri: string, bodyData: string): Experimental.Networking.UnityWebRequest;
public static Experimental.Networking.UnityWebRequest Put(string uri, string bodyData);

Parameters

uri The URI to which the data will be sent.
bodyData The data to transmit to the remote server.

If a string, the string will be converted to raw bytes via System.Text.Encoding.UTF8.

Returns

UnityWebRequest A UnityWebRequest configured to transmit bodyData to uri via HTTP PUT.

Description

Create a UnityWebRequest configured to upload raw data to a remote server via HTTP PUT.

This method creates a UnityWebRequest, sets the target URL to the string uri argument and the method to PUT. It also sets the Content-Type header to application/octet-stream.

This method attaches a standard DownloadHandlerBuffer to the UnityWebRequest. This is for convenience during development, as well as for applications which return status information regarding the uploaded data in the HTTP response body.

This method stores the input upload data in an UploadHandlerRaw object and attaches it to the UnityWebRequest. UploadHandlerRaw copies the input data into a buffer. Therefore, changes to the bodyData array performed after the call to this method will not be reflected in the data sent to the server.

no example available in JavaScript
using UnityEngine;
using UnityEngine.Experimental.Networking;
using System.Collections;
 
class MyBehavior: public MonoBehaviour {
    void Start() {
        StartCoroutine(Upload());
    }
 
    IEnumerator Upload() {
        byte[] myData = System.Text.Encoding.UTF8.GetBytes("This is some test data");
        using(UnityWebRequest www = UnityWebRequest.Put("http://www.my-server.com/upload", myData)) {
            yield return www.Send();
     
            if(www.isError) {
                Debug.Log(www.error);
            }
            else {
                Debug.Log("Upload complete!");
            }
        }
    }
}