HTML5 實現手機拍照上傳
阿新 • • 發佈:2018-12-29
- 因為要做的是手機拍照上傳,現在的手機拍照片都很大,比如小米4S,大小在3M以上,如果原圖上傳,太消耗使用者流量,於是要解決圖片壓縮的問題。
-
通過change事件,監聽圖片上傳,通過readerAsDataURL獲取上傳的圖片。
document.getElementById( 'img').addEventListener( 'change', function () { var reader = new FileReader(); reader.onload = function (e) { //呼叫圖片壓縮方法:compress();
-
對上傳的圖片進行壓縮,需要藉助於canvas API,呼叫其中的canvas.toDataURL(type, encoderOptions
//最終實現思路: 1、設定壓縮後的最大寬度 or 高度; 2、設定壓縮比例,根據圖片的不同size大小,設定不同的壓縮比。 functioncompress(res,fileSize) { //res代表上傳的圖片,fileSize大小圖片的大小 var img = new Image(), maxW = 640