通过 API 将文件上传到 NextCloud 时出错
Posted
技术标签:
【中文标题】通过 API 将文件上传到 NextCloud 时出错【英文标题】:Error uploadig a file to NextCloud via API 【发布时间】: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>
为什么?
我使用的凭据是用于在浏览器中登录的凭据。
【问题讨论】:
【参考方案1】:PUT
请求需要引用您要创建的实际文件,此时您指向的是一个目录。
所以而不是:
https://nextcloud.my_domain.com/remote.php/webdav/Shared/dir1/
用途:
https://nextcloud.my_domain.com/remote.php/webdav/Shared/dir1/test1.png
【讨论】:
以上是关于通过 API 将文件上传到 NextCloud 时出错的主要内容,如果未能解决你的问题,请参考以下文章
将 ownCloud/Nextcloud 与 S3 存储桶同步问题一起使用
NextCloud Updater Downloading失败的解决方法