Теперь у меня возникла проблема с сохранением аудиофайла формы волны с использованием модели 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 будет поврежден. Есть ли у кого-нибудь решения по этому поводу?