Ширина и высота изображения не приходят в JQuery

Я должен получить ширину и высоту изображения с помощью jQuery, но я застрял здесь.
Здесь ширина и высота изображения не определены, пожалуйста, предложите мне.
Спасибо за любое предложение.

Ниже код.

$(document).ready(function () {
$("#file").change(function () {
var files = this.files[0];
var reader = new FileReader();
var img = new Image();
reader.onload = function (e) {
img.src = e.target.result;
var fileSize = Math.round(files.size / 1024);///output is coming.
alert("File size is " + fileSize + " kb");
alert("width=" + this.width + " height=" + this.height);//showing undefined
};
reader.readAsDataURL(files);
});
});
<input type="file" class="cropit-image-input hii" id="file" style="display: none;" >

2

Решение

Я проверил на своем рабочем столе.

Когда я изменился this.width & this.height в img.width & img.height соответственно. Это сработало.

+ Изменить

alert("width=" + this.width + " height=" + this.height);//showing undefined

к

alert("width=" + img.width + " height=" + img.height);//showing undefined
1

Другие решения

Ты можешь использовать img вместо this,

 alert("width=" + img.width + " height=" + img.height);
$(document).ready(function() {
$("#file").change(function() {
var files = this.files[0];
var reader = new FileReader();
var img = new Image();
reader.onload = function(e) {
img.src = e.target.result;
var fileSize = Math.round(files.size / 1024); ///output is coming.
alert("File size is " + fileSize + " kb");

alert("width=" + img.width + " height=" + img.height); //showing undefined

};
reader.readAsDataURL(files);

});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="file" class="cropit-image-input hii" id="file">
2

По вопросам рекламы [email protected]