【发布时间】:2017-07-20 14:23:19
【问题描述】:
我的 REST API 应该将文件发送到另一个 API,但我不知道如何解决它。我从 Endpoint API 得到的唯一东西就是这个 curl 命令:
curl -i -X POST --data-binary @localimg.jpg --header
"X-API-PersonalKey: XXXX-XXXX-XXXX-XXXX" --header "ContentType:application/octet-stream"
http://XXX.XX/..../upload
(顺便说一句,我没有使用 curl 或这个函数的 exp,所以我必须即时学习。)
我搜索并找到了一个使用文件系统 Readstream 和请求 POST 的教程。
我的解决方案是这样的(但它不起作用)
var fs = require('fs');
var url = "http://XXX.XX/..../upload";
console.log(url);
var fdata = fs.createReadStream("c:/xxx/xxx/localimage.jpg");
console.log(fdata);
var options = {
url: url,
headers: {
'X-API-PersonalKey': authToken,
"Content-Type": "application/octet-stream"
},
data: fdata,
body: fdata
};
request.post(options, function optionalCallback(err, httpResponse, body) {
if (err) {
return console.error('upload failed:', err);
}
console.log("httpRes =" + httpResponse);
console.log('Upload successful! Server responded with:', body);
});
【问题讨论】:
-
我尝试了强大的,但坚持要求。稍微调整一下,效果很好:-) Ty Jarek
标签: node.js curl request http-post