gpt4 book ai didi

linux - 使用 curl 将文件上传到 owncloud

转载 作者:IT王子 更新时间:2023-10-29 00:54:59 25 4
gpt4 key购买 nike

我写了一个应用程序,应该将一些文件上传到多个移动设备。到目前为止,我正在使用 Dropbox,我有一个应用程序 ( https://www.dropbox.com/developers ),因此我可以将任何数据上传到客户端 Dropbox。

现在由于一些安全问题,我想切换到 owncloud。我已经读过这个: Uploading files to an ownCloud server programatically

但不幸的是它没有帮助。

我试过了

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"
<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>Sabre\DAV\Exception\BadRequest</s:exception>
<s:message>expected filesize 19 got 0</s:message>
</d:error>

但结果更糟!

谁能告诉我,我做错了什么?

最佳答案

-F表示表单上传,应该使用--data-binary代替:

curl -X PUT -u username:password 
"http://myserver.com/owncloud/remote.php/webdav/test" --data-binary @"/tmp/test"

关于linux - 使用 curl 将文件上传到 owncloud,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32074294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com