我通过XMLHttpRequest
请求一些数据。
当我尝试将结果保存为文件时,我已经更改了文件大小,并且文件变得不可读。
args.response.length
//9214
new Blob([args.response], {type: args.mime})
//Blob {size: 12252, type: "application/vnd.ms-excel;charset=utf-8"}
我怎么能避免这种重新编码并保存文件,因为它响应?
答案 0 :(得分:1)
XMLHttpRequest
返回几种类型的数据之一。 DOMString,ArrayBuffer,Blob,Document,JSON,Text和浏览器特定类型。你可以在这里看到它们:https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/response
类型很可能类似于String,其长度比字节表示的长度短(由于2字节字符等)。
答案 1 :(得分:1)
在PaulBGD回答之后我找到了解决方案。
XMLHttpRequest
向我返回了被视为responseType
的空DOMString
。我刚刚添加了
xhr.responseType = 'blob';
请求打开后,效果很好。