Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

javascript/jquery size and dimension of uploaded image file

I need to display the image size in kilobyte and the dimension (height, width) using javascript/jquery. I came across few similar posts, but none could help me. I have two set of codes, that work separately. I can't figure out how to put them together.

This is the html code:

<span id="preview"></span>
<input type="file" id="file" onchange="displayPreview(this.files);"/>

This piece of code checks for file size & previews the image:

function onFileLoad(e) { 
    $('#preview').append('<img src="'+e.target.result +'"/>');  
}
function displayPreview(files) {
    var reader = new FileReader();
    reader.onload = onFileLoad;
    reader.readAsDataURL(files[0]);
    fileSize = Math.round(files[0].size/1024);
    alert("File size is "+fileSize+" kb");
}

This piece of code checks for file size:

var _URL = window.URL || window.webkitURL;
$("#file").change(function (e) {
    var file, img;
    if ((file = this.files[0])) {
        img = new Image();
        img.onload = function () {
            alert(this.width + " " + this.height);
        };
        img.src = _URL.createObjectURL(file);
    }
});

Please help me to put these codes together and display both the size and dimension together.

like image 801
sridhar Avatar asked Nov 06 '13 15:11

sridhar


2 Answers

All you have to do to use the two codes is to combine them in the displayPreview function. You can create the image object that will append to the preview and find it's size, width, and height all in the same function.

var _URL = window.URL || window.webkitURL;
function displayPreview(files) {
   var file = files[0];//get file   
   var img = new Image();
   var sizeKB = file.size / 1024;
   img.onload = function() {
      $('#preview').append(img);
      alert("Size: " + sizeKB + "KB\nWidth: " + img.width + "\nHeight: " + img.height);
   }
   img.src = _URL.createObjectURL(file);
}
like image 197
Steven Lambert Avatar answered Sep 22 '22 14:09

Steven Lambert


How to get image width and height using jquery

Find out the image width and height during image upload using jQuery

Size and dimension of upload image file

var _URL = window.URL || window.webkitURL;
$("#myfile").change(function (e) {
    var file, img;
    if ((file = this.files[0])) {
        img = new Image();
        img.onload = function () {
            var wid = this.width;
            var ht = this.height;

            alert(this.width + " " + this.height);
            alert(wid);
            alert(ht);
        };

        img.src = _URL.createObjectURL(file);
    }
});
like image 35
Jasbir Singh Avatar answered Sep 19 '22 14:09

Jasbir Singh