Project

General

Profile

ファイルドロップでアップロードサイズ制限をかける

Ver12時点のNextcloudではアップロードサイズの制限がうまく設定できない。

ファイルアクセス制限で利用可能なファイルサイズを規定した場合、一律で
「アクセス禁止」のエラーメッセージが出るため、ユーザに親切ではない。

そこで、いったんファイルドロップでメッセージを出すように設定変更する。

ファイルサイズを規定

  • Nextcloudのインストールディレクトリ以下の「.htaccess」の末尾に以下の設定を加える。
    サイズはバイト表記
    # vi nextcloud/.htaccess
    -----------------------------
    #Max File Size 2GB
    LimitRequestBody 214748364
    

メッセージ日本語化

  • ファイルドロップの上記エラー出力は下記である。
    # vi nextcloud/apps/files_sharing/js/files_drop.js
    -----------------------------
    OC.Notification.showTemporary(OC.L10N.translate(
                    'files_sharing',
                    'Could not upload "{filename}"',
                    {filename: data.files[0].name}
                    ));
    
    

    この「Could not upload "{filename}"」は翻訳に含まれていないため、新たに設定する。
  • 下記のファイルに追記する。
    # nextcloud/apps/files_sharing/l10n/ja.json
    -----------------------------
    { "translations": {
        "Could not upload \"{filename}\"" : "{filename} のアップロードに失敗しました",    //←追加
        "Shared with you" : "他ユーザーがあなたと共有中",
    …
    …
    
  • 下記のファイルに追記する。
    # nextcloud/apps/files_sharing/l10n/ja.js
    -----------------------------
    { "translations": {
        "Could not upload \"{filename}\"" : "{filename} のアップロードに失敗しました",    //←追加
        "Shared with you" : "他ユーザーがあなたと共有中",
    …
    …
    

動作確認

ブラウザでファイルドロップの画面を開き、「Shift+F5」でキャッシュの再読み込みを行って
から指定サイズ以上のファイルをアップロードすることでメッセージが表示されるかを確認する。

上記の場合でもデスクトップクライアントや「FlowUpload」appであれば、指定サイズ以上のアップ
ロードを行うことが可能。

注意事項

Nextcloudのバージョンアップで「file_sharing」appがアップロードされると翻訳定義はもとに
戻ってしまうため注意。