2017-06-18 86 views
1

我在網上看到這個例子,但它獲得寬度和高度,我需要圖像的重量。我該怎麼做 ??如何獲取圖像的大小(MB,KB,GB)

function getMeta(url){ 
$("<img/>",{ 
    load : function(){ alert(this.width+' '+this.height); }, 
    src : url 
}); 
} 
+1

將圖像在同一域中的腳本?我問,因爲你可以ajax文件,並試圖找到內容長度的頭...但如果圖像在不同的域,你可能會遇到跨域問題 – Dale

回答

0
window.URL = window.URL || window.webkitURL; 
var elBrowse = document.getElementById("browse"), 
    elPreview = document.getElementById("preview"), 
    useBlob = false && window.URL; // set to `true` to use Blob instead of Data-URL 

function readImage (file) { 
    var reader = new FileReader(); 

    reader.addEventListener("load", function() { 
    var image = new Image(); 

    image.addEventListener("load", function() { 
     var imageInfo = file.name +' '+ 
      image.width +'×'+ 
      image.height +' '+ 
      file.type +' '+ 
      Math.round(file.size/1024) +'KB'; 

     // Show image and info 
     elPreview.appendChild(this); 
     elPreview.insertAdjacentHTML("beforeend", imageInfo +'<br>'); 

     if (useBlob) { 
     // Free some memory 
     window.URL.revokeObjectURL(image.src); 
     } 
    }); 
    image.src = useBlob ? window.URL.createObjectURL(file) : reader.result; 
    }); 

    reader.readAsDataURL(file); 
} 


elBrowse.addEventListener("change", function() { 

    var files = this.files, errors = ""; 

    if (!files) { 
    errors += "File upload not supported by your browser."; 
    } 

    if (files && files[0]) { 

    for(var i=0; i<files.length; i++) { 
     var file = files[i]; 

     if ((/\.(png|jpeg|jpg|gif)$/i).test(file.name)) { 
     readImage(file); 
     } else { 
     errors += file.name +" Unsupported Image extension\n"; 
     } 

    } 
    } 

    // Handle errors 
    if (errors) { 
    alert(errors); 
    } 

}); 

HTML文件

#preview img{height:100px;} 
<input id="browse" type="file" multiple /> 
<div id="preview"></div> 

更多的細節可以參考類似的問題,在下面的鏈接 link