我写了一个应用程序,应该将一些文件上传到几个移动设备.到现在为止,我使用的是Dropbox,我有一个App(https://www.dropbox.com/developers),所以我可以将任何数据上传到客户端Dropbox.
但不幸的是它没有帮助.
我试过了
curl -X PUT -u username:password "http://myserver.com/owncloud/remote.php/webdav/test" -F f=@"/tmp/test"
该文件已上传,但出现了问题:某些标题已添加到我的文件中.
原始测试文件:
test
上传的文件:
————————–00c5e21306fd0b2d Content-Disposition: form-data; name=”f”; filename=”test” Content-Type:
application/octet-stream
Dies ist ein Test.
————————–00c5e21306fd0b2d–
虽然这对任何文本文件来说都很烦人,但它对任何二进制文件(如JPG等)都是一个灾难,因为它们在上传后无法再打开.
这就是为什么,我尝试了另一种可能的方式,其描述如下:
mischka@lappy:/tmp$curl -X PUT -u 'username:password' "http://myserver/owncloud/remote.php/webdav/test" --data-binary @"/tmp/test"
Sabre\DAV\Exception\BadRequest
expected filesize 19 got 0
但结果更糟!
谁能告诉我,我做错了什么?
解决方法:
-F表示表单上传,你应该使用–data-binary代替:
curl -X PUT -u username:password
"http://myserver.com/owncloud/remote.php/webdav/test" --data-binary @"/tmp/test"
标签:linux,curl,console,owncloud
来源: https://codeday.me/bug/20190717/1489059.html