【发布时间】:2018-03-18 17:35:43
【问题描述】:
我正在创建一个任务来发送 PUT 请求并使用节点中的 axios 上传 .pot 文件。
我可以跑
curl -i -u api:<api-key> -F file=@dist/file.pot https://api-link.com/v2/api
它会正常工作
我已经尝试在节点中这样做
var fd = require('form-data');
var axios = require('axios');
var form = new FormData();
form.append('file', 'dist/file.pot');
var header = { headers: Object.assign({}, apiToken(), form.getHeaders()) };
axios.put('https://api-link.com/v2/api/', form, header)
.then(function(res) {
console.log(res);
})
.catch(function(err) {
console.log(err);
})
这不像 curl 命令那样工作。 apiToken() 是处理 curl 命令的 -u api:<api-key> 部分的函数,它返回 {'Authorization': 'Basic <api-key>'}。我已检查该功能是否有效,因为我能够成功执行获取请求。
那么 ajax 或 axios 中 -F file=@dist/file.pot 的等价物是什么?
【问题讨论】:
标签: node.js ajax curl httprequest axios