Nekowebで一括アップロード

NekowebのWebAPIでローカルのファイルをまとめてアップロードできるか試してみた。以下の方法でうまくいくようだ。

  1. 任意の場所にアップロードしたいファイル・ディレクトリをzip圧縮したファイルを生成する。
  2. BigIDと呼ばれるIDを生成する。
  3. BigIDを指定してzipファイルをサーバーに転送する(追加モード)。
  4. BigIDを指定して転送したファイルをサーバーに反映する(インポート)。

やり方さえわかればNeocitiesのCLIツールと使い勝手は変わらないし、反映も早いので便利。

Compress-Archive -Path public\* -DestinationPath public.zip -Force

$api_key='xxxxxxxxxxxxxx'

$big_id=(curl.exe -H "authorization: $api_key" -X GET 'https://nekoweb.org/api/files/big/create' | ConvertFrom-Json).id

curl.exe -H "authorization: $api_key" -X POST -F "id=$big_id" -F 'file=@public.zip' 'https://nekoweb.org/api/files/big/append'

curl.exe -H "authorization: $api_key" -X POST "https://nekoweb.org/api/files/import/$big_id"