如何将作为UploadHandlerRaw参数的WWWForm转换为字节数组?

时间:2018-08-31 13:03:13

标签: c# unity3d

我创建了一个继承UnityWebRequest的类。 它仅具有string urlstring methodbyte[] form作为参数。 我想将WWWForm对象放入此byte[] form中。当我检查元数据时,WWWForm似乎是由Dictionary组成的。 如果我可以检查Unity内部源代码,我自己会解决的,但我不能。 如何解决此问题?我想对{strong> application / x-www-form-urlencoded 使用WWWForm。我想找到一种将WWWForm转换为字节数组的方法。抱歉。我英语很差。请告诉我是否还有其他方法。

1 个答案:

答案 0 :(得分:1)

  

我想找到一种将WWWForm转换为字节数组的方法

这可以通过WWWForm.data属性来完成。

您的WWWForm

WWWForm form = new WWWForm();
form.AddField( "blah-blah-blah", "value" );

WWWForm转换为字节数组:

byte[] rawData = form.data;

UploadHandlerRaw一起使用:

WWWForm form = new WWWForm();
form.AddField("blah-blah-blah", "value");
byte[] rawData = form.data;

string url = "YOUR URL";
var uwr = new UnityWebRequest(url, "POST");
uwr.uploadHandler = (UploadHandler)new UploadHandlerRaw(rawData);
uwr.downloadHandler = (DownloadHandler)new DownloadHandlerBuffer();
uwr.SetRequestHeader("Content-Type", "application/json");

//Send the request then wait here until it returns
yield return uwr.SendWebRequest();

if (uwr.isNetworkError)
{
    Debug.Log("Error While Sending: " + uwr.error);
}
else
{
    Debug.Log("Received: " + uwr.downloadHandler.text);
}