使用curl上传文件-T

3
我运行代码时出现错误curl: Can't open 'files=@1.txt'!
curl -v -XPOST -k -H "Accept: application/json" -T "files=@1.txt"  https://192.168.1.102/

有没有关于如何正确传递文本文件名的建议?

1个回答

3

-T是用于PUT方法的,只需要提供文件名:

curl -T 1.txt https://192.168.1.102/

您似乎想要POST一个文件?如果您希望以“明文”方式发送它,那么您可能需要使用以下代码:

curl -H "Accept: application/json" --data-binary @1.txt https://192.168.1.102/

如果您希望将文件作为多部分表单数据发送,则可以按以下方式执行类似操作:
curl -F files=@1.txt https://192.168.1.102/

如果我想使用-T,我该如何指定属性的名称?如果没有指定,会出现以下错误:“当前URL <code>resources/1.txt</code> 与任何一个不匹配。” - Nicky Mirfallah
-T 发送 PUT 请求。此时没有“属性”,也没有它们的名称。 - Daniel Stenberg
在这种情况下,我需要进行POST请求,因为我需要指定它的名称。基本上,我正在网站中创建一个新的“资源”,它可以有不同的文件作为输入。 - Nicky Mirfallah
问题是 -F 给了我一个“警告:您只能选择一个HTTP请求!” - Nicky Mirfallah
不,你会得到那个警告是因为你试图将-F与其他无法组合的选项一起使用。 - Daniel Stenberg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接