【问题标题】:How send file content in a form field on CURL?如何在 CURL 的表单字段中发送文件内容?
【发布时间】:2017-04-06 12:23:09
【问题描述】:

我使用邮递员发送 POST 请求。我使用表单字段,并且我有一个字段“数据”。 在这些字段中,我粘贴了一个 xml 文件的完整内容。它工作正常!

现在我想使用 CURL 发送这个带有动​​态 XML 内容的 POST 请求。但我正在寻找一种简单的方法来在 CURL 命令的“数据”字段中填充 XML 内容。

我试试:

curl -X POST -H "Content-Type: application/x-www-form-urlencoded" --data "data=@/my/file/path" http://localhost:3001/import/myservice

如果我在我的 nodejs 代码中检查请求,则请求参数中没有内容,只有文件名。

我的节点代码是:

router.post('/import/myservice', function(req, res) {
   let data = req.body.data;
   ... }

数据内容是“@/my/file/path”,但我需要类似的东西

data= '<?xml version="1.0" encoding="ISO-8859-1"?> ...'

【问题讨论】:

    标签: node.js curl


    【解决方案1】:

    如果您将数据放入文件中,则应输入如下行:

    curl -X POST -H "Content-Type: application/x-www-form-urlencoded" --data "@my.file.path" http://localhost:3001/import/myservice
    

    看对了 here 可能会有帮助。

    【讨论】:

    • --data "data=@my.file.path" ==> data = '@my.file.path' (nodejs) and --data "@my.file.path" 不是为我工作,我需要 formdata。
    • @brett 我记得,我的解决方案是:丢弃文件读取方式。使用meyerweb.com/eric/tools/dencoder 并在 -data 选项中直接执行编码的 XML。希望对您有所帮助。
    猜你喜欢
    • 1970-01-01
    • 2012-05-29
    • 1970-01-01
    • 1970-01-01
    • 2013-04-01
    • 2014-01-30
    • 2019-08-31
    • 1970-01-01
    相关资源
    最近更新 更多