Загрузка файла jquery, ограничивающая количество файлов

Я использую загрузку файлов jquery для загрузки файлов на сервер. Я хочу ограничить пользователя для загрузки максимум 6 файлов. Я ищу загрузку файла wiki jquery, но не нашел для него параметр. Есть ли способ, которым я могу ограничить пользователя по количеству добавлений


person Uahmed    schedule 15.04.2013    source источник
comment
какой плагин jquery вы используете? обычно внутри функции обратного вызова он будет хранить эти файлы в каком-то массиве json, размер которого вы можете указать в предложении if ()   -  person duckduckgo    schedule 15.04.2013
comment
Почему не работает версия: stackoverflow.com/questions/21347805/   -  person Ciro Santilli 新疆再教育营六四事件ۍ    schedule 08.11.2014


Ответы (5)


Используйте maxNumberOfFiles здесь в документации:

$('#fileuploadbasic').fileupload({

maxNumberOfFiles: 6

});
person Mohamed Ali    schedule 15.04.2013
comment
Это не работает в моем случае. Я могу выбрать более 6 файлов, и он также загружает все выбранные файлы. - person basZero; 09.05.2017
comment
Я обнаружил, что иногда браузер кэширует файл .js. Попробуйте обновить фактическую страницу .js и посмотреть, вступят ли в силу изменения. - person BSUK; 27.11.2017
comment
Этот ответ следует удалить или хотя бы уточнить. Это уже не правильно. Эта опция maxNumberOfFiles работает только в том случае, если вы используете загрузку файла jquery с готовым пользовательским интерфейсом. В противном случае вам придется реализовать его самостоятельно. - person M H; 09.12.2020

maxNumberOfFiles у меня не работал, поэтому я сделал следующее

$('#fileuploadbasic').fileupload({
    change : function (e, data) {
        if(data.files.length>=5){
            alert("Max 5 files are allowed")
            return false;
        }
    },
    maxFileSize: 20000000,
    acceptFileTypes: /(\.|\/)(jpe?g|png)$/i,
});
person Muhammad Tahir    schedule 14.05.2015
comment
Круто, именно то, что мне было нужно. - person Cesar Bielich; 02.06.2016
comment
По какой-то причине я не могу отредактировать ответ, но если вы замените обработчик изменений на submit, он будет работать. Это помогло мне, и изменение тоже не сработало :) - person NaturalBornCamper; 16.03.2017
comment
Код @naturalBornCamper выше относится к тому времени, когда мы выбираем файл. он проверяет файл перед отправкой. - person Muhammad Tahir; 04.06.2017

Вы можете ограничить загрузку файлов с помощью файла «Uploadhandler.php». Измените параметр «max_number_of_files». работает на меня. Но он проверяется только при загрузке файла.

person Hemantha    schedule 01.07.2016
comment
Это действительно. Многие настройки доступны на стороне клиента (через js) и на стороне сервера (через PHP). Я счел полезным дублировать оба файла, чтобы пользователь получал обратную связь от клиента до того, как файл будет загружен, но на сервере также выполняется более безопасный уровень проверки. - person BSUK; 27.11.2017
comment
Просто не забудьте указать место для этого ограничения. В моем случае 100 загрузок сработали, а остальные потерпели неудачу, без сообщения об ошибке, просто произошла ошибка. - person Marcelo Agimóvel; 19.03.2018

Если вы используете загрузку файлов "Krajee", вам придется использовать

$('#fileuploadbasic').fileinput({
    maxFileCount: 6
});

Если установлено значение 0, это означает, что разрешенный размер неограничен. По умолчанию 0.

person TheCodeLord    schedule 23.12.2017

Можешь попробовать:

$('#fileuploadbasic').fileupload({
  //.....
  paramName: 'your_input_name',
  add : function (e, data) {
    if(data.paramName != undefined) data.submit();
  }
});
person Artipixel    schedule 14.07.2016