【问题标题】:maxFileSize in blueimp file upload plugin?blueimp文件上传插件中的maxFileSize?
【发布时间】:2015-03-16 14:40:15
【问题描述】:

我实现了这个插件,完全开箱即用,文件限制为 2mb,服务器端强制执行错误响应。效果很好。

然后我被要求将文件大小限制提高到 5mb。

我尝试了所有可以尝试的方法。我根本无法让插件对大于 4.2mb 的文件做任何事情。

没有错误,它只是对大于 4.2mb 的文件没有任何作用。

当前的代码:

 $('#fileupload').fileupload({

            type: "POST",

            add: function (e, data) {
                if (files < 5) {

                    var errs = [];
                    var acceptFileTypes = /(\.|\/)(gif|jpe?g|png)$/i;
                    var maxFileSize = 5242880;

                    // Validate file
                    $.each(data.files, function (index, file) {
                        if (file.type.length && !acceptFileTypes.test(file.type)) {
                            errs.push('Selected file "' + file.name + '" is not alloawed. Invalid file type.');
                        }
                        if (this['size'] > maxFileSize) {
                            errs.push('Selected file "' + file.name + '" is too big, ' + parseInt(file.size / 1024 / 1024) + 'M.. File should be smaller than ' + parseInt(maxFileSize / 1024 / 1024) + 'M.');
                        }
                    });

                    // Output errors or submit data
                    if (errs.length > 0) {
                        alert('An error occured. ' + errs.join(" "));
                    } else {
                        data.context = $('<p/>').text('Uploading...').appendTo($('.currUploadDiv ul'));
                        data.submit();
                        removeFileUploadLabel();
                        files++;
                        if (files > 0) {
                            $('.fileName').html(files + ' of 5 uploads selected.')
                        } else {
                            $('.fileName').html('Select a file.');
                        }
                    }


                    //data.submit();

                   // return;
                } else {
                    $('.fileName').html('Maximum number of files selected.');
                };
            },
            success: function (e, data) {
                //ToDo- check response for too many files uploaded.


            },
            done: function (e, data) {

                data.context.text(data["_response"]["result"]["message"]);
            },
            error: function (e, data) {
                console.log(e);
            }
        });

我以正确的顺序包含了必要的 .js 文件(如先前关于 MaxFileSize 的回答所示...)

我错过了什么?

【问题讨论】:

    标签: jquery-file-upload blueimp


    【解决方案1】:

    这恐怕是故意设计的,以下来自插件常见问题解答:-

    最大文件大小限制是多少?

    使用 jQuery File Upload 插件可以上传最大 4 GB 的文件。 通过使用分块文件上传(块小于 4GB),潜在的文件大小是无限的。 4 GB 的限制是由于某些浏览器限制,这些限制可能会在这些浏览器的未来更新中得到修复。

    https://github.com/blueimp/jQuery-File-Upload/wiki/Frequently-Asked-Questions

    因此,您需要分块上传文件。您可以使用 maxChunkSize 选项设置块大小,如下所示:-

    $('#fileupload').fileupload({
        maxChunkSize: 10000000 // 10 MB
    });
    

    请注意,这不适用于所有浏览器(旧版本的 IE 我在看你!)

    请参阅下面的链接以获得帮助。

    https://github.com/blueimp/jQuery-File-Upload/wiki/Chunked-file-uploads

    【讨论】:

      猜你喜欢
      • 2013-07-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-15
      • 2013-02-13
      • 1970-01-01
      • 1970-01-01
      • 2015-03-05
      相关资源
      最近更新 更多