我似乎无法限制可以上传的文件数量。 https://github.com/blueimp/jQuery-File-Upload/wiki/Options
我使用拖放方法和搜索浏览器的方法。 在wiki中,我读到有必要使用“maxNumberOfFiles”选项并删除“multiple”属性但它没有改变,总是可以删除多个文件。 除了代码,我找不到关于“maxNumberOfFiles”选项的信息。
var dropZonebox = $('#dropzone');
$('#fileupload').fileupload({
url: fund_upload_url,
dataType: 'json',
dropZone: dropZonebox,
maxNumberOfFiles: 1
});
答案 0 :(得分:4)
我有同样的问题,最后还是这样:
将singleFileUploads
设置为false
:这样可以确保如果用户删除3个文件,则不会使用一个文件调用3次,而是使用3个文件调用1次。
然后您可以自己处理add
参数中的文件数。
如果删除了多个文件(dropzone中闪烁的红色背景),我这样做会产生一些影响:
$('.fileToUpload').each(function () { // Multiple input file
$(this).fileupload({
url: '...',
dataType: 'json',
dropZone: $(this),
singleFileUploads: false,
add: function (e, data) {
var targetName = data.paramName;
$('#'+targetName+'Dropzone').removeClass('hover');
if (data.files.length > 1) {
$('#'+targetName+'Dropzone').addClass('dropzone-error');
setTimeout("$('#"+targetName+"Dropzone').removeClass('dropzone-error')",300);
return;
}
var jqXHR = data.submit(); // Catching the upload process of every file
$('#'+targetName+'Cancel').on('click',function(e){
jqXHR.abort();
});
},
...
答案 1 :(得分:1)
我遵循了Irvin Dominin的说法,但即使我插入jquery.fileupload-ui.js
,我仍然无法工作。
调试后我发现getNumberOfFiles
由于这两个文件的顺序而无效。
jquery.fileupload-validate.js
和jquery.fileupload-ui.js
在jquery.fileupload-ui.js
解决我的案件之后立即放置jquery.fileupload-validate.js
文件。
希望它对那些遇到同样问题的人有用。
答案 2 :(得分:0)
我认为问题出在getNumberOfFiles
实施中:
maxNumberOfFiles选项取决于getNumberOfFiles选项, 这是由UI和AngularJS实现定义的。 https://github.com/blueimp/jQuery-File-Upload/wiki/Options#maxnumberoffiles
如果您没有使用UI或AngularJS版本,则必须将getNumberOfFiles
实现为返回当前文件数的函数,例如:https://github.com/blueimp/jQuery-File-Upload/blob/master/js/jquery.fileupload-ui.js#L73
答案 3 :(得分:-1)
我发现使用了一个适合我的简单计数器
select d.*, fv.*,
datediff(day, d.DischargeDt, ov.FollowupVisitDt) as DaysBetween
from Discharges d outer apply
(select top 1 ov.*
from [MH].[dbo].OutpatientVisits ov
where ov.ClientId = d.ClientId and
ov.FollowupVisitDt > d.DischargeDt
order by FollowupVisitDt
) fv;