Ограничение загружаемого файла
Уважаемые знатоки есть код загрузки файла.
<script> function readURL(input) { if(!/(\.bmp|\.gif|\.jpg|\.jpeg|\.png)$/i.test(input.value)) { alert('Error'); document.getElementById('image_p').value='';return false; } if (input.files && input.files[0]) { var reader = new FileReader(); reader.onload = function (e) { $('#img_prev') .attr('src', e.target.result) .width(150); }; reader.readAsDataURL(input.files[0]); } } </script> <input type="file" id="image_p" name="attachment[]" onchange="readURL(this);" /> <img id="img_prev" class="image_block" src="image.png" alt="" /> Что нужно добавить в коде, чтобы было ограничение загружаемого файла до 0.5 мегабайт и размеры картинки: ширина до 1024-пиксель, высота до 768-пиксель? |
artiom-75, :blink:
<input id="img_file" type="file" onchange="readURL(this)"><br> <img id="img_prev" width="150" src="" alt="Preview"> <script> function readURL(input) { var type = ['image/bmp','image/gif','image/jpg','image/jpeg','image/png']; var width = 1024; var height = 768; var size = 524288; // bytes var file = input.files[0]; var prev = document.getElementById('img_prev'); function errMsg(x) { alert('Error ' + x); prev.src = ''; input.value = ''; } if (type.indexOf(file.type) == -1) { errMsg('Type'); return false; } else if (file.size > size) { errMsg('Size'); return false; } else { var reader = new FileReader(); reader.readAsDataURL(file); reader.onload = function(e) { var img = new Image(); img.src = e.target.result; img.onload = function() { if (this.width <= width && this.height <= height) { prev.src = this.src; } else { errMsg('Width/Height'); } }; }; } } </script> |
Ограничение в js не поможет. Если кому-то приспичит, он легко сможет его обойти, так как javascript исполняется на стороне клиента. Надо делать проверки на стороне сервера, в php.
|
Спасибо огромное Rise!
Erolast вы правы. на я не знаю как это можно организовать на стороне сервера. |
Часовой пояс GMT +3, время: 08:58. |