Ограничение размера нескольких файлов
Здравствуйте
Чтобы ограничить размер файла вложения 5мб, можно сделать так: <input type="file" class="attach-more" onchange="attach(this)"><br> <input type="file" class="attach-more" onchange="attach(this)"><br> <div id="err_attach"></div> <script type="text/javascript"> function attach(input){ var attach_size = 5*1024*1024; //5мб var attach_file = input.files[0]; if(attach_file.size > attach_size){ $('#err_attach').html('Размер вложений ограничен 5 мб!'); $('.attach-more').val(''); //удалить аттач, если превышен размер файла } }; </script> Пожалуйста, подскажите, как можно сделать ограничение теме же 5мб если инпутов type=file несколько например, в первый инпут выбирается файл 4мб - все ОК, файл для вложения выбран во второй инпут выбирается файл 2мб, общий размер двух файлов превышен (4+2=6), и в этом случае второй инпут должен остаться пустым |
На сервере проверка продублирована?
|
Цитата:
|
Цитата:
Либо даже не буду открывать браузер и через curl направлю /dev/urandom на сервер. Уверен, что не нужно? |
Цитата:
ограничение на размер делаю для того, чтобы письмо с вложением могло отправиться (почтовые сервера делают ограничения на аттач 10-20мб). Пользователь конечно может открыть инспектор и удалить обработчик onchange или инпут или всю форму, но это уже его проблемы.. |
Ну ладно.
Как-то так: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>File attachment</title> </head> <body> <form id="files" action="/send-a-file" method="post"> <input type="file" class="attach-more"> <input type="file" class="attach-more"> </form> <script> $("#files").bind("change", function(event) { var max_attachments_size_allowed = 5 * 1024 * 1024; //5мб var attachments_size = 0; $('#files input[type=file]').each(function() { attachments_size += this.files[0].size; }); if (attachments_size > max_attachments_size_allowed) { $('#err_attach').html('Размер вложений ограничен 5 мб!'); event.target.value = ''; } }) </script> </body> </html> |
Erolast, у меня почему то не работает
http://www.tatuning.ru/Untitled-2.html |
Это я неправильный код привел, забыл обработчик провесить. Уже поправил, теперь работает.
|
Erolast, не совсем так как я хотел
сейчас, например, выбираю файл в первом инпуте размером 12мб - ограничение не срабатывает выбираю файл 1мб во втором инпуте - ограничение сработало (12+1=13мб) |
Цитата:
|
Часовой пояс GMT +3, время: 09:50. |