通过 API 将文件上传到 NextCloud 时出错

问题描述 投票:0回答:2

我正在尝试上传文件:

curl -X PUT -u "my_username:pass123" "https://nextcloud.my_domain.com/remote.php/webdav/Shared/dir1/" --data-binary @"/Users/user1/test1.png"

错误:

  <?xml version="1.0" encoding="utf-8"?>
  <d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
    <s:exception>Sabre\DAV\Exception\Conflict</s:exception>
    <s:message>PUT is not allowed on non-files.</s:message>
  </d:error>

为什么?

我使用的凭据是我在浏览器中登录时使用的凭据。

rest curl webdav nextcloud
2个回答
7
投票

PUT
请求需要引用您要创建的实际文件,现在您指向一个目录。

所以代替:

https://nextcloud.my_domain.com/remote.php/webdav/Shared/dir1/

用途:

https://nextcloud.my_domain.com/remote.php/webdav/Shared/dir1/test1.png

-1
投票

谢谢@Evert,我在这里绞尽脑汁寻找这个选项来与文件上传脚本集成到 owncloud,它工作得很好。

很遗憾我是新来的,无法给予正面评价,但我是来感谢你的。

© www.soinside.com 2019 - 2024. All rights reserved.