【问题标题】:Error uploadig a file to NextCloud via API通过 API 将文件上传到 NextCloud 时出错
【发布时间】:2019-03-07 20:18:58
【问题描述】:

我正在尝试上传文件:

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


    【解决方案1】:

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

    所以而不是:

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

    用途:

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

    【讨论】:

      最近更新 更多