Javascript mpeg二进制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);

所以我基本上是想保存一个使用jQuery得到的mp3文件。第一个问题是保存的blob的大小几乎是下载大小的2倍。另一个问题是下载的文件没有被识别为音频文件。在浏览器中将blob添加为音频源时,两者都不在桌面音频播放器中

这是我用来获取和保存数据的位

 $.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()不好吗?