2013-05-23 22 views
7

Używam przesyłania plików jQuery i ustawienie maxNumberOfFiles na 1. Jednak dopuszcza on więcej niż jeden plik na raz. Dokumentacja stwierdza ...Przesyłanie plików jQuery maxNumberOfFiles i getNumberOfFiles opcje

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

Nie ma dalszej dokumentacji na ten temat. getNumberOfFiles jest tylko funkcją można przekazać w.

Oto co mam ...

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

Czy ktoś ma opcję maxNumberOfFiles działa?

Odpowiedz

11

Wierzę, że getNumberOfFiles był tylko added as an option to a recent version z jquery.fileupload-ui.js (8.2.1).

Alternatywnie można ustawić opcję singleFileUploads na false, a w wywołaniu zwrotnym add można zgłaszać błędy, jeśli dodano więcej niż jeden plik.

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

znalazłem tylko przy użyciu prosty licznik działa wystarczająco dobrze

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

    } 
}); 
Powiązane problemy