Javascript mpeg二进制Blob保存不正确
所以我基本上是想保存一个使用jQuery得到的mp3文件。第一个问题是保存的blob的大小几乎是下载大小的2倍。另一个问题是下载的文件没有被识别为音频文件。在浏览器中将blob添加为音频源时,两者都不在桌面音频播放器中 这是我用来获取和保存数据的位Javascript mpeg二进制Blob保存不正确,javascript,jquery,ajax,Javascript,Jquery,Ajax,所以我基本上是想保存一个使用jQuery得到的mp3文件。第一个问题是保存的blob的大小几乎是下载大小的2倍。另一个问题是下载的文件没有被识别为音频文件。在浏览器中将blob添加为音频源时,两者都不在桌面音频播放器中 这是我用来获取和保存数据的位 $.get(fileUrl, function(song_data) { var blob = new Blob([song_data], {type: "audio/mpeg"}); saveAs(blob, songName);
$.get(fileUrl, function(song_data) {
var blob = new Blob([song_data], {type: "audio/mpeg"});
saveAs(blob, songName);
});
还有我制造的斑点:
Blob {size: 13821949, type: "audio/mp3"}
这些也是我下载的同一URL的响应头
HTTP/1.1 200 OK
Date: Tue, 10 Jan 2017 18:43:42 GMT
Server: Apache
X-Powered-By: PHP/5.3.3
Cache-Control: public, must-revalidate, max-age=0
Pragma: no-cache
Content-Length: 7832555
Content-Disposition: inline; filename=5b6wgswib0.mp3
Content-Transfer-Encoding: binary
Last-Modified: Tue, 05 May 2015 08:58:26 +0300
Keep-Alive: timeout=15, max=99
Connection: Keep-Alive
Content-Type: audio/mpeg
使用
XMLHttpRequest
、fetch
或。哇,谢谢。我用fetch,它工作得很好。想解释一下为什么$.get()不好吗?