借助Seafile,您可以创建一个公共(public)上传链接(例如https://cloud.seafile.com/u/d/98233edf89/
),以通过不带身份验证的浏览器上传文件。
Seafile webapi不支持任何不带身份验证 token 的上传。
我该如何使用curl或python脚本从命令行使用此类链接?
最佳答案
需要2个小时才能找到具有 curl 效果的解决方案,它需要两个步骤:
repo-id
作为查询参数,对公共(public)上行链路URL进行get请求,如下所示:curl 'https://cloud.seafile.com/ajax/u/d/98233edf89/upload/?r=f3e30b25-aad7-4e92-b6fd-4665760dd6f5' -H 'Accept: application/json' -H 'X-Requested-With: XMLHttpRequest'
答案是(json)一个ID链接,用于下一个上载帖子,例如:
{"url": "https://cloud.seafile.com/seafhttp/upload-aj/c2b6d367-22e4-4819-a5fb-6a8f9d783680"}
curl 'https://cloud.seafile.com/seafhttp/upload-aj/c2b6d367-22e4-4819-a5fb-6a8f9d783680' -F file=@./tmp/index.html -F filename=index.html -F parent_dir="/my-repo-dir/"
答案再次是json,例如
[{"name": "index.html", "id": "0a0742facf24226a2901d258a1c95e369210bcf3", "size": 10521}]
完毕 ;)
关于python - 如何从命令行使用Seafile生成的不带身份验证 token 的上载链接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38742893/