2013-12-15 69 views
3

獲取輸入字段(類型=文件)的base64我需要上傳的圖像,像這樣的javascript:在IE9

<form> 
    <input type="file"> 
</form> 

不過,我想作物/上傳之前調整的文件。裁剪和調整大小是沒有問題的,但是如何從輸入文件元素獲取base64?在IE10和其他瀏覽器,我可以這樣說:

if (this.files.length === 0) { 
    return; 
} 

var file = this.files[0]; 

if (file.type.match(/image.*/)) { 
    var reader = new FileReader(); 
    reader.onload = function (event) { 
     cropAndResize(event.target.result); 
    }; 
    reader.readAsDataURL(file); 
} 

然而,在IE9 this.files是不確定的。如何在IE9中訪問已上傳圖像的base64(當然沒有往返於後端!)? Here is a jsfiddle

回答

1

IE9不支持FileReader API,因此不能使用純JavaScript來做你想做的事。如果你想要IE9的支持,那麼你需要使用像this Flash solution這樣的東西來獲得相同的結果。