我使用这段代码从服务器下载Excel文件。
$.ajax({
headers: CLIENT.authorize(),
url: '/server/url',
type: 'POST',
contentType: "application/json; charset=utf-8",
data: JSON.stringify(jsonData),
success: function (data) {
alert('Data size: ' + data.length);
var blob = new Blob([data], { type: "application/vnd.ms-excel" });
alert('BLOB SIZE: ' + data.length);
var URL = window.URL || window.webkitURL;
var downloadUrl = URL.createObjectURL(blob);
document.location = downloadUrl;
},
});
我遇到的问题是,尽管数据和blob大小相同,但一旦document.location被分配,我就会被提示下载几乎两倍大的Excel文件。当我尝试打开它时,Excel会抱怨文件格式错误,并且打开文件包含很多垃圾,即使所需的文本仍然存在。
有什么想法是什么原因导致这种情况,并如何避免?
arrayBuffer
。 - levi