一尘不染

JavaScript如何上传Blob?

javascript

我在此结构中有一个Blob数据:

Blob {type: "audio/wav", size: 655404, slice: function}
size: 655404
type: "audio/wav"
__proto__: Blob

实际上是使用最新的ChromegetUerMedia()和Recorder.js记录的声音数据

如何使用jquery的post方法将此blob上传到服务器?我试过这个没有运气:

   $.post('http://localhost/upload.php', { fname: "test.wav", data: soundBlob }, 
    function(responseText) {
           console.log(responseText);
    });

阅读 530

收藏
2020-04-25

共1个答案

一尘不染

尝试这个

var fd = new FormData();
fd.append('fname', 'test.wav');
fd.append('data', soundBlob);
$.ajax({
    type: 'POST',
    url: '/upload.php',
    data: fd,
    processData: false,
    contentType: false
}).done(function(data) {
       console.log(data);
});

您需要使用FORMDATA API和设置jQuery.ajaxprocessDatacontentTypefalse

2020-04-25