首页 > 解决方案 > 使用 curl 从管道发布文件

问题描述

我如何从管道中获取输出并使用 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@apikey=secret

(这里cat只是一个更复杂的获取数据的事件序列的替代品)

更新 以下作品:

cat test/data/test.csv  | curl -XPOST  -H 'Content-Type:multipart/form-data' --form 'file=@-;filename=test.csv' $url

标签: filecurlpost

解决方案


如果你添加--trace-ascii -到命令行,你会看到 curlContent-Type默认已经使用了它(-XPOST也没有帮助)。而是您的固定-F选项起到了作用!


推荐阅读