Ограничение размера нескольких файлов
Здравствуйте
Чтобы ограничить размер файла вложения 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, время: 16:38. |