2

FilesAdded イベントで許可されていない拡張子を持つファイルを削除しようとしています。(排他リストが必要なため、フィルター パラメーターは使用できません)。

次のようなコードがあります。

uploader.bind('FilesAdded', function(up, files) {
    var count = files.length;
    var i = 0;
    for (i;i<count;i++) {
        var validExt = validate(files[i].name);
        if(!validExt){

拡張子が無効な場合は、追加されたファイルを削除する必要があります。私は次のことを試しました:

uploader.splice(i,1)
uploader.removeFile(files[i]);
uploader.refresh();

FilesRemoved イベントは発生しますが、削除されたファイルは引き続き uploader.start() でアップロードされます。

これがプログラムのバグなのか、あまりにもあいまいすぎて簡単な答えを期待できないのかはわかりませんが、誰かが助けてくれれば、本当に感謝しています. 明らかな何かが欠けているとは思いません。

ありがとう。

4

5 に答える 5

1

削除するファイルの ID を removeFile に渡す必要があります。

uploader.removeFile(files[i].id)

于 2012-02-17T21:23:23.357 に答える
1

コールバック「QueueChanged」を使用できます。これは私にとっても機能します。

uploader.bind('QueueChanged', function(up){

  var file_count = up.files.length;
  for(i = 0; i < file_count; i++) {
    if(i != (file_count - 1)) up.removeFile(up.files[i]);
  }

});
于 2012-07-27T08:48:34.167 に答える
0
uploader.bind('FilesAdded', function(up, files) {
    if( files.length > 1 )
    {
        $.each(files, function(i, file) {
            up.removeFile(file);    
        });
    }
});
于 2013-02-05T22:43:12.820 に答える