Nextcloud

ファイルの分割(file chunk)アップロードについて

Nextcloud には、ファイルの分割アップロード(Chunked file upload)という仕組みがあります。

一例として、WEBブラウザやデスクトップクライアントからのファイルアップロード時には、デフォルトでは10MB毎に分割されてファイルがアップロードされています。

分割アップロードの様子は、WebUI経由でのアップロードの場合には、ブラウザの開発者ツール(F12)のネットワークタブでも確認することが可能です。

分割アップロードにより、すべてのデータがWEBサーバ上のバッファにアップロードされるまで待つ必要がなく、次のアップストリーム(PHPやNextcloud)へと10MB毎にデータが次々と渡されていきます。

ファイル分割サイズの設定は、WebUI(ブラウザ)経由でのアップロードの場合には、Nextcloudサーバ側で設定をします。その他のクライアントは、クライアント側の設定が適用されます。

以下に各環境ごとの設定例を記載します。

WebUI(ブラウザアップロード)の場合は、occコマンドで分割サイズ(byte)を設定します。
コマンド例: occ config:app:set files max_chunk_size –value {size}

ただし、URL共有画面(public link)は、分割アップロード機能に対応していません。
マニュアルはこちらです。

デスクトップクライアントの場合には、クライアント側設定ファイルの chunkSize パラメータで設定します。マニュアルはこちらです。

Android アプリの場合は、モバイル回線では1MB、Wi-Fi回線では10MBのチャンクが自動的に選択されます。分割アップロードを無効化することはできません。

iOS アプリの場合は、デフォルトでは分割アップロードが行われません。
アプリ画面下部の「もっと見る」=>「設定」=>「詳細設定」=>「チャンクサイズ(MB)」で設定値の確認が可能です。

以上、Nextcloud 24 時点での動作でした。