File 使用curl从管道发布文件
如何从管道中获取输出并使用curl将其作为文件发布 例如,以下工作File 使用curl从管道发布文件,file,curl,post,File,Curl,Post,如何从管道中获取输出并使用curl将其作为文件发布 例如,以下工作 curl-F'file=@data/test.csv'-F'filename=test.csv'https://mydomain@apikey=secret 我想从管道中获取文件内容,但我不太清楚如何将其指定为文件输入。我的第一个猜测是-F'file=@-',但这并不完全正确 cat data/test.csv | curl-F'file=@-'-F'filename=test.csv'https://mydomain@apik
curl-F'file=@data/test.csv'-F'filename=test.csv'https://mydomain@apikey=secret
我想从管道中获取文件内容,但我不太清楚如何将其指定为文件输入。我的第一个猜测是-F'file=@-'
,但这并不完全正确
cat data/test.csv | curl-F'file=@-'-F'filename=test.csv'https://mydomain@apikey=secret
(这里,cat
只是一个更复杂的事件序列的替代品,可以获得数据)
更新
以下工作:
cat test/data/test.csv | curl -XPOST -H 'Content-Type:multipart/form-data' --form 'file=@-;filename=test.csv' $url
如果将
--trace ascii-
添加到命令行,您将看到curl在默认情况下已经使用了该内容类型(并且-XPOST
也没有帮助)。而是您的固定-F
选项起了作用 “不完全正确”是怎么回事?@DanielStenberg服务器抱怨req.file
不存在(Node/Express)。黑客进一步添加参数-XPOST-H'Content Type:multipart/form data'
似乎将数据附加为服务器预期的数据如果您使用--trace ascii-
您将看到curl默认情况下已经使用了该内容类型(并且-XPOST
也没有帮助)。“这倒是你的固定-F选项起到了作用。”丹尼尔斯滕伯格非常有帮助。请将您的评论作为答案发布,以便我可以这样标记。