22

Codeigniter を使用した次のプロジェクトでは、JQuery ファイル アップロード デモを使用しています。誰でも次のことを達成する方法を教えてもらえますか:

  • アップロード ファイルの種類を .zip および .rar に制限する
  • ファイルサイズの制限
  • アップロードされたファイルのリストをクリアする (JQuery ファイル アップロード プラグインは、既にアップロードされたファイルのリストを表示します)

助けてください!!

4

5 に答える 5

69

あなたはおそらく今たくさんの解決策を持っていますが、私はjqueryアップローダにBASICプラグインを使いたいと思っていました。ドキュメントを読むの!

とにかく、私にとっては、次のことを行うのと同じくらい速かったです:

    add: function (e, data) {
        var goUpload = true;
        var uploadFile = data.files[0];
        if (!(/\.(gif|jpg|jpeg|tiff|png)$/i).test(uploadFile.name)) {
            common.notifyError('You must select an image file only');
            goUpload = false;
        }
        if (uploadFile.size > 2000000) { // 2mb
            common.notifyError('Please upload a smaller image, max size is 2 MB');
            goUpload = false;
        }
        if (goUpload == true) {
            data.submit();
        }
    },

したがって、ADDオプションを使用して正規表現の画像タイプのみを許可し、(私の場合)ファイルサイズを確認すると、最大2MBになります。

かなり基本的で、maxFileSize オプションが機能すると確信していますが、基本的なプラグイン スクリプト jquery.fileupload.js のみを含めています。

編集 私の場合、1つのファイル(プロファイル画像)のみをアップロードしているため、data.files [0] ..を追加する必要がありました。もちろん、ファイルコレクションを反復処理できます。

于 2013-01-21T08:55:54.110 に答える
7

jquery.fileupload-ui.jsで、次の部分を編集します。

   $.widget('blueimp.fileupload', $.blueimp.fileupload, {

    options: {
        // The maximum allowed file size:
        maxFileSize: 100000000,
        // The minimum allowed file size:
        minFileSize: undefined,
        // The regular expression for allowed file types, matches
        // against either file type or file name:
        acceptFileTypes:  /(zip)|(rar)$/i,
        ----------------------------------------------------------------

アップロードされたファイルのリストをクリアするには-その機能が必要ない場合は、main.jsから$.getJSON呼び出しを削除します。

于 2012-11-02T06:36:13.057 に答える
3

公式文書によると;

$('#file_upload').fileUploadUIX({
    maxFileSize: 5000000, // Maximum File Size in Bytes - 5 MB
    minFileSize: 100000, // Minimum File Size in Bytes - 100 KB
    acceptFileTypes: /(zip)|(rar)$/i  // Allowed File Types
});
于 2012-09-06T15:45:42.750 に答える
-2

この行を見てみてください:

 process: [
            /*
                {
                    action: 'load',
                    fileTypes: /^image\/(gif|jpeg|png)$/,
                    maxFileSize: 20000000 // 20MB
                },
                {
                    action: 'resize',
                    maxWidth: 1920,
                    maxHeight: 1200,
                    minWidth: 800,
                    minHeight: 600
                },

jquery.fileupload-fp.js で

于 2012-09-06T15:45:40.893 に答える