7

我正在使用 jQuery 文件上传并将 maxNumberOfFiles 设置为 1。但是,它一次允许多个文件。该文件指出...

The maxNumberOfFiles option depends on the getNumberOfFiles option, which is defined by the UI and AngularJS implementations.

没有关于该主题的进一步文档。getNumberOfFiles 只是一个可以传入的函数。

这是我所拥有的...

$('#fileupload').fileupload({
                maxNumberOfFiles: 1,
                getNumberOfFiles: function () { return 1 }
});

有没有人可以使用 maxNumberOfFiles 选项?

4

2 回答 2

12

我相信getNumberOfFiles只是作为一个选项添加到最新版本的 jquery.fileupload-ui.js (8.2.1)。

作为替代方案,您可以将选项设置singleFileUploads为,如果添加了多个文件,您可以false在回调中抛出错误。add

var maxFiles = 1;
$('#fileupload').fileupload({
    singleFileUploads: false,
    url: '/uploadUrl'
}).bind('fileuploadadd', function (e, data) {
        var fileCount = data.files.length;
        if (fileCount > maxFiles) {
            alert("The max number of files is "+maxFiles);
            return false; 
        }
    });
于 2013-05-23T22:43:40.900 回答
1

我发现只使用一个简单的计数器就足够了

var maxFiles = 1;
var counter=0;
$('#fileupload').fileupload({
url: '/uploadUrl',
add: function (e, data) {
        if(counter < maxFiles){
            counter++;
  }else return false;

    }
});
于 2015-05-13T00:28:19.327 回答