通过cURL将stdin上的数据作为具有特定名称的文件上载

Gui*_*ira 9 curl stdin file-upload

我正在使用curl -F file=@- http://etc/upload上传的一些数据我正在使用cURL,而且工作正常,但我希望能够指定报告给服务器的文件名.

那可能吗?怎么样?

Gui*_*ira 14

从cURL手册页:

-F/ - 形式

...

您可以通过设置filename =来显式更改文件上传部分的名称字段,如下所示:

curl -F"file = @ localfile; filename = nameinpost"

所以这正是我想要的.例如:

$ echo funfunfun | curl -F file = @ - ; filename = fun.txt http:// etc/upload

我发誓,在问之前我已经阅读了几次手册,但直到现在还没有找到那个特别的段落.


iva*_*eev 6

对于 HTTP 以外的协议,以及用于PUTHTTP 而不是表单提交,请-T -在 URL 中使用文件名:

echo bla-bla-bla | curl -T - ftp://user:password@example.com/foo.txt
Run Code Online (Sandbox Code Playgroud)