Unity POSTing публикует пустой запрос - PullRequest
0 голосов
/ 12 октября 2018

В настоящее время я пишу мод для VR-игры Beat Sabre , который берет воспроизведение игры игрока и загружает его на сервер Express Node.JS для хранения.Однако всякий раз, когда я загружаю воспроизведение (сохраненное как JSON), мой сервер возвращает req.body как пустой объект, а req.file не определено.

Я использую bodyparser для анализа JSON и multerдля анализа файлов внутри моего кода Express.

Я попытался:

  • WWWForm
  • System.Net.Http (через NuGet)
  • Hashtablesи словари для заполнения WWWForm (вместо form.AddField())
  • UnityWebRequest

Используя Postman для проверки кода моего сервера, сервер прекрасно обрабатывает запросы Postman, поэтому я пришел к выводучто это проблема на стороне клиента.

C # Код загрузки:

            List<IMultipartFormSection> formData = new List<IMultipartFormSection>();
            formData.Add(new MultipartFormDataSection(string.Format("songName={0}&songSubName={1}&authorName={2}&difficulty={3}", songName, songSubName, authorName, difficulty)));
            formData.Add(new MultipartFormFileSection("replayData", Encoding.UTF8.GetBytes(builder.ToString() /*Compressed JSON*/), "file", "application/json"));
            UnityWebRequest w = UnityWebRequest.Post("http://caed.jackz.me/ghostmode/UploadReplay", formData);
            w.SetRequestHeader("Content-Type", "application/json; charset=utf8");
            w.chunkedTransfer = false; //Some of this code was trial and error through others question
            UnityWebRequestAsyncOperation request = w.SendWebRequest();
            request.completed += uploadComplete;

Экспресс код:

app.post("/ghostmode/UploadReplay", upload.array(), (req,res) => {
  console.log(moment.tz(moment(), "America/Los_Angeles").format("h:mm:ss A"));
  console.log(req.body); //bodyparser.json()
  console.log(req.files); //multer
});

Вывод на консоль сервера всегда был

7:54:07 PM //Timestamp so I know when its from
{} //req.body via bodyparser
undefined //req.files via multer
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...