5

Seafile を使用すると、パブリック アップロード リンク (例: https://cloud.seafile.com/u/d/98233edf89/) を作成して、認証なしでブラウザ経由でファイルをアップロードできます。

Seafile webapi は、認証トークンなしのアップロードをサポートしていません。

コマンドラインからcurlまたはpythonスクリプトからこのようなリンクを使用するにはどうすればよいですか?

4

2 に答える 2

9

curl で解決策を見つけるのに 2 時間かかりました。次の 2 つの手順が必要です。

  1. 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"}

  1. このリンクを使用して、アップロードの投稿を開始します。

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}]

終わり ;)

于 2016-08-03T12:08:15.900 に答える