2016-01-19 4 views
0

Я использую Dropzone для загрузки файлов MP3 и WAV. Я установил размер верхнего предела размером 100 МБ, но для MP3 я хочу установить ограничение в 15 МБ.Остановить загрузку файла в Dropzone

Я могу проверить размер файла, как только добавьте файл, используя прослушиватель событий this.on("addedfile"), но я не могу найти способ провалить загрузку. Я знаю, что я могу удалить файл из загрузчика перед его загрузкой, но я не хочу его удалять, просто сбой с ошибкой. Как я могу это сделать?

$dropzone.dropzone({ 
      maxFilesize: 100, 
      maxFiles: (limit) ? limit : 25, 
      acceptedFiles: 'audio/mp3, audio/wav', 
      init: function() { 
       this.on("addedfile", function(file) { 
        if (file.type == 'audio/mp3' && (file.size/(1000 * 1000)) > 15) { 
         console.log('MP3 too big'); 
        } 
       }); 
      } 
     }); 
+0

Возможный дубликат [Как отменить/прервать загрузку в Dropzone.js, если условие не выполнено ?] (http://stackoverflow.com/questions/23829924/how-to-cancel-abort-upload-in-dropzone-js-if-condition-is-not-fulfilled) Пожалуйста, обратитесь к [this] (http: //stackoverflow.com/questions/23829924/how-to-cancel-abort-upload-in-dropzone-js-if-condition-is-not-fulfilled#23835326) ответ – Slytherin

ответ

1

Я думаю, что в этом случае вы должны использовать accept вместо addedfile события http://www.dropzonejs.com/#config-accept

$dropzone.dropzone({ 
    maxFilesize: 100, 
    maxFiles: (limit) ? limit : 25, 
    acceptedFiles: 'audio/mp3, audio/wav', 
    accept: function(file, done) { 
     if (file.type == 'audio/mp3' && (file.size/(1000 * 1000)) > 15) { 
      done('MP3 too big'); 
     } else { 
      done(); 
     } 
    }   
}); 
+0

невозможно, как написано в официальных документах: Эта функция n не будет вызываться, если файл слишком большой или не соответствует типу mime. –

Смежные вопросы