2013-05-23 44 views
7

jQueryファイルのアップロードを使用していて、maxNumberOfFilesを1に設定しています。ただし、一度に複数のファイルを使用できます。ドキュメントには...jQueryファイルのアップロードmaxNumberOfFilesとgetNumberOfFilesオプション

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

この件に関する追加のドキュメントはありません。 getNumberOfFilesあなたが渡すことができますだけの機能です。

ここでは誰もがmaxNumberOfFilesオプションが機能し

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

を持っています...私が持っているものですか?

答えて

11

getNumberOfFilesは、jquery.fileupload-ui.js(8.2.1)のadded as an option to a recent versionだったと思います。

別の方法として、singleFileUploadsfalseに設定し、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; 
     } 
    }); 
1

私は単純なカウンターを使用して

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

    } 
}); 
十分に機能しました