使用 curl 从管道中发布文件

时间:2021-03-25 18:00:21

标签: 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@apikey=secret

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

更新 以下工作:

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

1 个答案:

答案 0 :(得分:1)

如果您在命令行中添加 --trace-ascii -,您会看到 curl 已经默认使用了 Content-Type(而 -XPOST 也无济于事)。而是您固定的 -F 选项发挥了作用!