【发布时间】:2019-08-17 21:00:58
【问题描述】:
我想用axios 下载一个pdf 文件并用fs.writeFile 保存在磁盘(服务器端)上,我试过了:
axios.get('https://xxx/my.pdf', {responseType: 'blob'}).then(response => {
fs.writeFile('/temp/my.pdf', response.data, (err) => {
if (err) throw err;
console.log('The file has been saved!');
});
});
文件已保存,但内容已损坏...
如何正确保存文件?
【问题讨论】:
-
你得到控制台日志“文件已保存”,文件被创建,只是内容有误?
-
你在哪里调用 axios.get ?它不会等待文件被写入。更好地承诺 fs 或使用 fs-extra 或使用 fs 的承诺方法。并使用类似 return fs.writeFile(...)
-
@RolandStarke 是的,文件已保存
-
我已经发布了一种更简洁的方法来使用下面的节点流管道解决问题。它与公认答案提出的概念相同。 stackoverflow.com/a/64925465/3476378
标签: javascript node.js axios