首先這里有個new FileReader()的概念,這是h5新增的,用來把文件讀入內存,並且讀取文件中的數據。FileReader接口提供了一個異步API,使用該API可以在瀏覽器主線程中異步訪問文件系統,讀取文件中的數據,他有個readAsDataURL的方法,可以讀取url,同時input file的change事件里面有個this.file是個數組,反應的當前上傳文件的具體參數
打印出來有這些,可以判斷當前上傳文件類型和大小,通過readAsDataURL(this.files[0]),就可以讀取當前文件,然后再Filerender的實例的onload方法里面獲取當前結果
地址這就是原理,那么exif有什么用呢? 因為ios在拍照上傳照片時候,會旋轉90度自動修正,而exif就是保存圖片元數據的作用
代碼如下
EXIF.getData(p, function() {
orientation = parseInt(EXIF.getTag(p, "Orientation"));
orientation = orientation ? orientation : 1;
});
