如何编写脚本上传文件到owncloud共享链接文件夹?

5
如果我使用一个(临时)链接共享文件夹的访问权限,任何知道链接和密码的人都可以使用Web界面向该文件夹上传文件。
如何脚本上传到通过链接共享的owncloud文件夹?
对于服务器的普通用户,他们可以通过WebDAV界面访问,这个问题在Uploading files to an owncloud server programatically中得到了解答。
我的实际用例是从Jenkins作业上传构建工件。出于安全原因,我不想使用自己的用户帐户,我们的IT也不愿意创建伪用户。
3个回答

5
curl -u token:password -T filename "https://your.owncloud.server/public.php/webdav/filename"
< p > token是共享链接末尾的字符串(例如,在https://your.owncloud.server/index.php/s/abcdefghijk0123中,abcdefghijk0123)。如果您不使用密码保护链接,则可以将命令中的字段留空。


1
它对我不起作用。你有什么想法我做错了什么吗? 我分享了一个链接,如 https://www.vpext.dsa-ac.de/dsacloud/index.php/s/rRLXrewsDIq4aRz,但通过 curl -u rRLXrewsDIq4aRz:pwd -T DefaultCatalog.xml "https://www.vpext.dsa-ac.de/dsacloud/public.php/webdav/DefaultCatalog.xml" 上传返回了 NotAuthenticated 异常。 - Oliver Meyer
你的共享链接此时能通过浏览器访问吗?也许你可以尝试不使用密码进行测试。 - shebang
我已经让目录名称正常工作了,即未共享的URL令牌,请参见https://dev59.com/Z5bfa4cB1Zd3GeqPwJ2N#37921752。 - jan
维护在这里:https://github.com/ceremcem/owncloud-tools/blob/master/upload.sh - ceremcem

2
如果有人仍在寻找这个问题的答案(对我来说,它是谷歌搜索结果中的第一个),OwnCloud管理员手册中有一个解决方案。
如果您没有密码保护的文件传输链接。
https://example.com/s/70mX9s7KOZwfmdi

(令牌70mX9s7KOZwfmdi)您可以使用以下cURL命令从命令行上传文件file.txt

curl -k -T file.txt -u "70mX9s7KOZwfmdi:" -H 'X-Requested-With: XMLHttpRequest' \https://example.com/public.php/webdav/file.txt

来源:https://doc.owncloud.com/server/next/user_manual/files/access_webdav.html#uploading-files-to-a-public-link-file-drop-using-curl


0

我在设置页面上没有看到这样的选项。但是我看到了 personal#clientsbox personal#passwordform persona#ssl-root-certificates. - Oliver Meyer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接