我如何从管道中获取输出并使用 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
答案 0 :(得分:1)
如果您在命令行中添加 --trace-ascii -
,您会看到 curl 已经默认使用了 Content-Type
(而 -XPOST
也无济于事)。而是您固定的 -F
选项发挥了作用!