Ось HTML для завантаження зображень. За замовчуванням файли зображень відображатимуться лише у вікні перегляду, оскільки ми поставили accept="image/*"
. Але ми все одно можемо змінити його зі спадного меню, і він покаже всі файли. Отже, частина Javascript перевіряє, чи є обраний файл фактичним зображенням.
<div class="col-sm-8 img-upload-section">
<input name="image3" type="file" accept="image/*" id="menu_images"/>
<img id="menu_image" class="preview_img" />
<input type="submit" value="Submit" />
</div>
Тут на події зміни ми спочатку перевіряємо розмір зображення. А у другій if
умові ми перевіряємо, чи це файл зображень чи ні.
this.files[0].type.indexOf("image")
буде, -1
якщо це не файл зображення.
document.getElementById("menu_images").onchange = function () {
var reader = new FileReader();
if(this.files[0].size>528385){
alert("Image Size should not be greater than 500Kb");
$("#menu_image").attr("src","blank");
$("#menu_image").hide();
$('#menu_images').wrap('<form>').closest('form').get(0).reset();
$('#menu_images').unwrap();
return false;
}
if(this.files[0].type.indexOf("image")==-1){
alert("Invalid Type");
$("#menu_image").attr("src","blank");
$("#menu_image").hide();
$('#menu_images').wrap('<form>').closest('form').get(0).reset();
$('#menu_images').unwrap();
return false;
}
reader.onload = function (e) {
// get loaded data and render thumbnail.
document.getElementById("menu_image").src = e.target.result;
$("#menu_image").show();
};
// read the image file as a data URL.
reader.readAsDataURL(this.files[0]);
};