node.js - cURL 的 --form 的 axios 或 ajax 等效项是什么?

标签 node.js ajax curl httprequest axios

我正在创建一个任务来发送 PUT 请求并上传 .pot在 Node 中使用 axios 文件。

我可以跑

curl -i -u api:<api-key> -F file=@dist/file.pot https://api-link.com/v2/api 

它会工作得很好

我尝试在 Node 中执行此操作

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()是一个处理 -u api:<api-key> 的函数是curl命令的一部分,它返回{'Authorization': 'Basic <api-key>'} 。我已检查该函数是否有效,因为我能够成功执行获取请求。

那么 -F file=@dist/file.pot 相当于什么?在 ajax 或 axios 中?

最佳答案

尝试以下解决方案:

var 选项 = { header :Object.assign({'Content-Type': 'multipart/form-data'}, apiToken(), 表单.getHeaders()) };

axios.post('https://api-link.com/v2/api/', formData, options)

还要检查内容类型 header 是否设置为 multipart/form-data。

关于node.js - cURL 的 --form 的 axios 或 ajax 等效项是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46613752/

相关文章:

node.js - 从服务器提供图标有什么用

node.js - 使用 Flightplan 和 Bower 进行部署

带有 JSON 和原始正文的 PHP cURL

php - (Linux CLI PHP) 在执行期间捕获 CURL 的详细输出到文件

javascript - Promise.prototype.then() 行为

javascript - 通过 Node 的异步/等待不需要按预期顺序返回结果 - 使用什么是正确的模式?

java - Jquery Ajax调用servlet不成功

javascript - 如何对我的表单联系人使用 reCAPTCHA?

javascript - Ajax XML 请求无法正常工作

powershell - cURL 命令在 git bash 中有效,但在 cmd 和 powershell 中无效