Cka*_*ppo 4 request node.js request-promise
我收到了多个pdf文件,必须从REST-API下载.
在auth和connect之后,我尝试使用request-promise下载文件:
const optionsStart = {
uri: url,
method: 'GET',
headers: {
'X-TOKEN': authToken,
'Content-type': 'applcation/pdf'
}
}
request(optionsStart)
.then(function(body, data) {
let writeStream = fs.createWriteStream(uuid+'_obj.pdf');
console.log(body)
writeStream.write(body, 'binary');
writeStream.on('finish', () => {
console.log('wrote all data to file');
});
writeStream.end();
})
Run Code Online (Sandbox Code Playgroud)
请求创建一个pdf(大约1-2MB),但我无法打开它.(Mac预览显示空白页面和adobe show =>
打开此文档时出错.阅读本文件存在问题(14).
我没有关于下载文件的API端点的信息.只是有这个卷曲:
curl -o doc.pdf --header "X-TOKEN: XXXXXX"
http://XXX.XXX/XXX/docs/doc1
Run Code Online (Sandbox Code Playgroud)
我的错误在哪里?
更新:
没有任何经验:-)
Rad*_*asu 12
添加编码:'binary'到您的请求选项:
const optionsStart = {
uri: url,
method: "GET",
encoding: "binary", // it also works with encoding: null
headers: {
"Content-type": "application/pdf"
}
};Run Code Online (Sandbox Code Playgroud)
添加encoding: null到您的请求选项:
const optionsStart = {
uri: url,
method: "GET",
encoding: null,
headers: {
"Content-type": "application/pdf"
}
};
Run Code Online (Sandbox Code Playgroud)
然后,将响应转换为缓冲区(如果需要):
const buffer = Buffer.from(response);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9128 次 |
| 最近记录: |