我一直在牆上用頭撞牆頭數小時。我試圖用recorder.js
使用源從這個例子https://webaudiodemos.appspot.com/AudioRecorder/django發佈請求未在終端顯示javascript blob對象
現在我想修改它,以便用戶將聽到音頻回放給他們,然後在y將不得不把它上傳到服務器,如果有機會他們喜歡它。通過將方法createObjectURL(blob)
的返回添加到音頻元素,我得到了要播放的音頻。 GREAT
現在我只需寫一個post請求並將其發送到我的django實例,以便在視圖中處理它...這就是它變得奇怪的地方。
我用jQuery來發布這樣一個Ajax請求......
$(document).ready(function() {
$("#submit_audio_file").click(function() {
var data = new FormData();
data.append("csrfmiddlewaretoken", $("[name=csrfmiddlewaretoken]").val());
data.append("audio_file", blob, "test");
// Display the key/value pairs
for(var pair of data.entries()) {
console.log(pair[0]+ ', '+ pair[1]);
}
$.ajax({
type: "POST",
url: $("#post_url").val(),
data: data,
processData: false, // prevent jQuery from converting the data
contentType: false, // prevent jquery from changing something else as well
success: function(response) {
alert(response);
}
});
})
});
,當我提出這個要求經過我看到這個控制檯...
csrfmiddlewaretoken, 3YBQrdOUkquRDD5dN0hTJcUXYVFiNpSe
audio_file, [object File]
,然後在我django CBV我把print request.POST.items()
在第一行,所以我可以看到什麼進來。在我的終端,我看到這...
[(u'csrfmiddlewaretoken', u'mymiddlewaretokenvalue')]
根本不存在audio_file
密鑰。 Wy會顯示在JavaScript控制檯,然後消失在Django的請求?
我也看到未來的潛在問題,因爲我認爲JavaScript控制檯只是打印一個字符串[object File]
這顯然不會做我想做的。
下一步該去哪裏的任何想法?
你可以在'request.FILES'中的Django中看到它嗎? –