這篇文章主要介紹了透過HTML5行動開發實現圖片壓縮上傳的功能,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
行動端上傳圖片,用戶一般都是上傳手機相簿中的圖片,而現在手機的拍攝品質越來越高,一般單張照片的尺寸都在3M左右,因此需要在上傳之前,先進行本地壓縮。
H5活動已十分普遍,其中一種形式是讓用戶上傳圖片參與。行動端上傳圖片,用戶一般都是上傳手機相簿中的圖片,而現在手機的拍攝品質越來越高,一般單張照片的尺寸都在3M左右。若直接上傳,十分耗流量,體驗效果也不佳。因此需要在上傳之前,先進行本地壓縮。
接下來總結在h5活動的開發中圖片壓縮上傳的功能,並標記其中踩過的幾個坑,分享給大家:
#小白區必看
對於行動端圖片上傳毫無概念的話,需要補充FileReader、Blob、FormData三個概念。
1.FileReader
定義
使用FileReader物件,web應用程式可以異步的讀取儲存在使用者電腦上的檔案(或原始資料緩衝)內容,可以使用File物件或Blob物件來指定所要處理的檔案或資料.
方法
1 2 3 4 5 6 7 8 |
|
#2.Blob
BLOB(binary large object),二進位大對象,是一個可以儲存二進位檔案的容器。3.FormData
利用FormData物件,你可以使用一系列的鍵值對來模擬一個完整的表單,然後使用XMLHttpRequest發送這個」表單”. 正題行動裝置圖片壓縮上傳過程:
1)input file上傳圖片,使用FileReader讀取用戶上傳的圖片;2)圖片資料傳入img對象,將img繪製到canvas上,再使用canvas.toDataURL進行壓縮;3)取得壓縮後的base64格式圖片數據,轉成二進制,塞進formdata,最後透過xmlHttpRequest提交formdata;#1.取得圖片資料
##1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
#2.壓縮圖片
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
|
##
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
|
使用html5 canvas封裝一個echarts實作不了的餅圖
關於HTML5 input placeholder 的顏色修改
#
以上是透過HTML5行動開發實現圖片壓縮上傳的功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!