Seafile を使用すると、パブリック アップロード リンク (例: https://cloud.seafile.com/u/d/98233edf89/
) を作成して、認証なしでブラウザ経由でファイルをアップロードできます。
Seafile webapi は、認証トークンなしのアップロードをサポートしていません。
コマンドラインからcurlまたはpythonスクリプトからこのようなリンクを使用するにはどうすればよいですか?
Seafile を使用すると、パブリック アップロード リンク (例: https://cloud.seafile.com/u/d/98233edf89/
) を作成して、認証なしでブラウザ経由でファイルをアップロードできます。
Seafile webapi は、認証トークンなしのアップロードをサポートしていません。
コマンドラインからcurlまたはpythonスクリプトからこのようなリンクを使用するにはどうすればよいですか?
curl で解決策を見つけるのに 2 時間かかりました。次の 2 つの手順が必要です。
repo-id
次のように as クエリ パラメータを使用して、パブリック アップリンク URL への get-request を作成します。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-link です。
{"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}]
終わり ;)