Как сохранить wav файл в Django из UnityWebRequest - PullRequest
0 голосов
/ 14 июля 2020

Теперь у меня возникла проблема с сохранением аудиофайла формы волны с использованием модели Django из веб-запроса unity. Это мои попытки

На Unity

IEnumerator UploadAudioSource(byte[] input)
{
    List<IMultipartFormSection> formData = new List<IMultipartFormSection>();
    formData.Add(new MultipartFormDataSection("inputAudioClip", input, "byte[]"));
    UnityWebRequest www = UnityWebRequest.Post(downloadURL, formData);
    www.chunkedTransfer = false;
    yield return www.SendWebRequest();

    if (www.isNetworkError || www.isHttpError)
    {
        Debug.Log(www.error);
    }
    else
    {
        Debug.Log("Form upload complete!" + www.downloadHandler.text);
    }
}

На Django views.py

def onRecieve(request):
    if request.method == "POST":
        existingFiles = speechToText.objects.all()
        for existingfile in existingFiles:
            existingfile.incomingSpeech.delete(save = True)
            existingfile.delete()

        event = speechToText()
        datas = request.POST.get('inputAudioClip')
        data_byte = datas.encode('UTF-8')
        content = ContentFile(data_byte)
        event.incomingSpeech.save("input.wav", content, save=True)
        event.outputText = "output texts"
        event.save()

Почему-то я считаю, что при использовании запроса POST байты будут преобразованы в строку. Итак, проблема в том, что когда я использую этот код, аудиофайл wav будет поврежден. Есть ли у кого-нибудь решения по этому поводу?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...