2017-03-24 5 views
-1

Ich will die Größe der Bilder bekommen ich über Javascript laden, aber ich kann nichtWie kann ich Bildgrößen über Javascript hochladen?

HTML

<form> 
    <input type="file" id="img" multiple> 
</form> 

JS

var imageData = function(files) { 

    var imgWidth = 0, 
     imgHeight = 0; 

    var reader = new FileReader(); 

    reader.addEventListener('load',function(theFile) { 

    var img = new Image(); 
    img.src = theFile.target.result; 

    img.addEventListener('load',function(){ 

     return { 
     imgWidth :this.width, 
     imgHeight :this.height 
     }; 

    }); 

    }); 

    reader.readAsDataURL(files); 
}; 

function checkImg() { 
    var files = imgs.files; 

    for (var i = 0; i < files.length; i++){ 
    console.log(imageData(files[i]).imgWidth); 
    } 
} 

var imgs = document.getElementById('img'); 

imgs.addEventListener('change',checkImg); 

http://jsbin.com/tuqoguwudo/3/edit?html,js,console,output

+0

Die jsbin Konsole zeigt eine ziemlich klare Fehlermeldung, nicht wahr? – CBroe

Antwort

0

Verwenden Sie den folgenden Code, es wird das Fil alarmieren e Größe, wenn Datei lädt

var imageData = function(files) { 

    var imgWidth = 0, 
     imgHeight = 0; 

    var reader = new FileReader(); 

    reader.addEventListener('load',function(theFile) { 

    var img = new Image(); 
    img.src = theFile.target.result; 
    alert(theFile.total); 
    img.addEventListener('load',function(){ 

     return { 
     imgWidth :this.width, 
     imgHeight :this.height 
     }; 

    }); 

    }); 

    reader.readAsDataURL(files); 
}; 

function checkImg() { 
    var files = imgs.files; 

    for (var i = 0; i < files.length; i++){ 
    console.log(imageData(files[i]).imgWidth); 
    } 
} 

var imgs = document.getElementById('img'); 

imgs.addEventListener('change',checkImg); 

Sie benötigen .total Attribut der Datei zu verwenden.

Verwandte Themen