例如,下载PDF文件:
axios.get('/file.pdf', {
responseType: 'arraybuffer',
headers: {
'Accept': 'application/pdf'
}
}).then(response => {
const blob = new Blob([response.data], {
type: 'application/pdf',
});
FileSaver.saveAs(blob, 'file.pdf');
});
下载文件的内容为:
[object Object]
这里有什么问题?为什么二进制数据不保存到文件?
4条答案
按热度按时间knpiaxh11#
我能够创建一个可行的要点(不使用FileSaver)如下:
eblbsuwk2#
我能够下载一个基于Nayab Siddiqui答案的tgz文件。
n7taea2i3#
这种方法可能对将来寻找答案的人有帮助。
anhgbhbe4#
看起来response.data只是一个普通的对象,Blob的第一个参数是“ArrayBuffer、ArrayBufferView、Blob或DOMString对象的数组”。
尝试将其 Package 为JSON.stringify
那么它将满足DOMString要求。