接到需求,問前端是否可以壓縮圖片?因為有的圖片太大,傳到服務(wù)器上再壓縮太慢了。意識里沒有這么玩過,早上老大丟來一個知乎鏈接,一看,原來前輩們已經(jīng)用canvas實現(xiàn)了(為自己的見識羞愧3秒鐘,再馬上開干)!。

canvas壓縮

使用了github上的一個現(xiàn)成庫:https://github.com/stomita/ios-imagefile-megapixel,不得不膜拜下stomita這位大神。大體的思路是將圖片抽樣顯示在canvas上,然后用通過canvas.toDataURL方法得到base64字符串來實現(xiàn)壓縮。比如在input元素觸發(fā)change事件之后,讀取里面的文件進行操作:

Android培訓(xùn),安卓培訓(xùn),手機開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

 fileInput = document.getElementById('fileInput'=  file = fileInput.files[0
     mpImg = 
     resImg = document.getElementById('resultImage'

Android培訓(xùn),安卓培訓(xùn),手機開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

網(wǎng)友評論