Как преобразовать WWWForm, который будет параметром для UploadHandlerRaw, в байтовый массив? - PullRequest
0 голосов
/ 31 августа 2018

Я создал класс, который унаследовал UnityWebRequest. Он имеет только string url, string method и byte[] form в качестве параметров. Я хочу поместить объект WWWForm в это byte[] form. Когда я проверял метаданные, кажется, что WWWForm состоит из словаря. Если бы я мог проверить внутренний исходный код Unity, я бы сам решил его, но не смог. Как я могу решить эту проблему? Я хочу использовать WWWForm для application / x-www-form-urlencoded . Я хочу найти способ конвертировать WWWForm в массив байтов. Сожалею. Я очень беден на английском. Пожалуйста, дайте мне знать, если есть другой способ.

1 Ответ

0 голосов
/ 31 августа 2018

Я хочу найти способ конвертировать 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...