用于将本地文件上载到url的正确curl命令

用于将本地文件上载到url的正确curl命令,curl,post,file-upload,Curl,Post,File Upload,您好,我正在使用cURL上传pdf文件到远程服务器后的方法。 我尝试了几个变体,得到了几个不同的消息(错误),其中两个最重要: curl -X POST https://waapi.pepipost.com/api/v2/media/upload/ -H 'Authorization: Bearer myAuthorizationToken' -H 'Content-Type: document' "@C:\Users\Slomil\Desktop\UserGuide.pdf"

您好,我正在使用cURL上传pdf文件到远程服务器后的方法。 我尝试了几个变体,得到了几个不同的消息(错误),其中两个最重要:

curl -X POST https://waapi.pepipost.com/api/v2/media/upload/ -H 'Authorization: Bearer myAuthorizationToken' -H 'Content-Type: document' "@C:\Users\Slomil\Desktop\UserGuide.pdf" 
错误是:(3)端口号以“\”结尾。。 此外,我还尝试将地址更改为“/”,因此新的curl命令看起来像

curl -X POST https://waapi.pepipost.com/api/v2/media/upload/ -H 'Authorization: Bearer myAuthorizationToken' -H 'Content-Type: document' "@C:/Users/Slomil/Desktop/UserGuide.pdf"
并收到错误:
curl:(1)libcurl中不支持或禁用协议“@C”


我也在stackoverflow上搜索了以前关于该问题的答案,并尝试将该帮助用作我的新cURL命令,但也没有成功。
可能有人知道这里会出现什么问题吗?我想我的档案地址错了。。但是我不知道该如何在命令中写入它。在这里,我只将地址从
“\”
更改为
“/”
,认为地址是问题所在,可能在那些斜杠中。。非常感谢!:)

有不止一种方法可以“将文件上传到URL”,因此除非您提供更多详细信息,否则我们实际上无法知道

但很明显,您的命令行中缺少a-d或a-F选项,您应该删除
-X POST

多部分邮政 如果您使用多部分上传,这就是大多数“上传”到HTTP的工作方式,它可能是这样的:

curl https://waapi.pepipost.com/api/v2/media/upload/ -H 'Authorization: Bearer myAuthorizationToken' -F "file=@C:\Users\Slomil\Desktop\UserGuide.pdf"
curl https://waapi.pepipost.com/api/v2/media/upload/ -H 'Authorization: Bearer myAuthorizationToken' -H 'Content-Type: document' --data-binary "@C:\Users\Slomil\Desktop\UserGuide.pdf"
请注意,此命令行将上载部分设置为获取文件名,您应该将其更改为所需的名称

“正规”职位 如果您只想在POST中发送二进制文件“raw”(您的内容类型设置可能表明您需要),请使用--data binary,如下所示:

curl https://waapi.pepipost.com/api/v2/media/upload/ -H 'Authorization: Bearer myAuthorizationToken' -F "file=@C:\Users\Slomil\Desktop\UserGuide.pdf"
curl https://waapi.pepipost.com/api/v2/media/upload/ -H 'Authorization: Bearer myAuthorizationToken' -H 'Content-Type: document' --data-binary "@C:\Users\Slomil\Desktop\UserGuide.pdf"

(我从问题中复制了内容类型,尽管它看起来很奇怪。)

谢谢你的解释。:)不幸的是,在这两种情况下,它都会给我错误“警告:无法从文件中读取数据警告:“C:\Users\Slomil\Desktop\UserGuide.pdf”,这是一篇空文章。“我需要发送pdf文件(或纯文本文件)将url作为二进制文件发送并接收成功的回调。我的发帖请求应该是这样的:curl-X post\\-H“Authorization:Bearer您的身份验证令牌”\-H“Content Type:image/jpeg”\\\\或其他合适的媒体类型--data binary@your file pathDaniel,为什么是Content Type document而不是application/octet stream?@slomil:不,您这里的新cmdline严重混乱