Проверено на Unity 2019.3.0f3 или 2019.3.0f5 или 2019.3.9 и Azure Функции V3.
Публикация из проекта Unity WebGL в функции azure в виде формы.
Я не могу получить запись в переменные в приложении Function: приложение Function выдает http 500 с «Неожиданным концом потока, возможно, содержимое уже прочитано другим компонентом». Поэтому, когда проект webgl запускается в браузере, chrome показывает 500 внутренних ошибок; firefox не показывает данные на консоли, но также не отображает ошибку, но вы можете увидеть ошибку http 500 с Fiddler.
Проект выполняется в редакторе и почтальоне.
Приложение функции теперь запущено и общедоступный для тестирования по адресу https://unitywebglbugtest.azurewebsites.net/api/TestBug
public class Function1
{
[FunctionName("TestBug")]
public async Task<HttpResponseMessage>
TestBug([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ILogger log)
{
string myUsername = Convert.ToString(req.Form["clientusername"]);
return new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new StringContent($"Result: {myUsername}", Encoding.UTF8, "text/plain")
};
}
}
Созданный и размещенный проект Unity Webgl, который вы можете запустить для тестирования: https://webglappbugtest.azurewebsites.net
Пример формы отправки Unity:
List<IMultipartFormSection> formData = new List<IMultipartFormSection>();
string stringTest = "hello@gmail.com";
formData.Add(new MultipartFormDataSection("clientusername", stringTest, "text/plain"));
UnityWebRequest www = UnityWebRequest.Post("https://unitywebglbugtest.azurewebsites.net/api/TestBug", formData);
Debug.Log("Now sending form " + stringTest);
yield return www.SendWebRequest();
string queryResult = www.downloadHandler.text;
Debug.Log(queryResult);
Результат почтальона: ![](https://i.stack.imgur.com/f1EDq.png)
РЕДАКТИРОВАТЬ: похоже, что отправленное сообщение не конвертируется в некоторых системах при отправке. Бывает только в нескольких системах, следовательно, это работает для некоторых, но не для всех. Вот что Fiddler отправляет. Эта проблема недавно была помечена как ошибка в этом сообщении Unity . К сожалению, предложенный патч не работал для меня в Unity 2019.3.0f3,2019.3.0f5, 2019.3.9
К сожалению, решение параметров запроса небезопасно и его нельзя использовать, как видно из недавний взлом Zoom
Я поднял эту ошибку с Unity.
![enter image description here](https://i.stack.imgur.com/dZQIn.png)