Monday 11 August 2014

How to get size of image and its height and width

This will work with modern browsers as from HTML 5 and the File API



<!DOCTYPE html>

<html>

<head>

<style>

#uploadPreview img{

 height:32px;

}

</style>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>


<meta charset=utf-8 />

<title>Multiple image upload with preview by Roko C.B.</title>

</head>

<body>

  <input type="file" id="choose" multiple="multiple" />

<br>

<div id="uploadPreview">

</div>

</body>

<script>

function readImage(file) {

 

var reader = new FileReader();

var image  = new Image();

 

reader.readAsDataURL(file);  

reader.onload = function(_file) {

image.src    = _file.target.result;              // url.createObjectURL(file);

image.onload = function() {

var w = this.width,

h = this.height,

t = file.type,                           // ext only: // file.type.split('/')[1],

n = file.name,

s = ~~(file.size/1024) +'KB';

$('#uploadPreview').append('<img src="'+ this.src +'"> '+w+'x'+h+' '+s+' '+t+' '+n+'<br>');

};

image.onerror= function() {

alert('Invalid file type: '+ file.type);

};      

};

}

$("#choose").change(function (e) {

//if(this.disabled) return alert('File upload not supported!');

var F = this.files;

if(F && F[0]) for(var i=0; i<F.length; i++) readImage( F[i] );

});

</script>

</html>