【发布时间】: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