㈠ vue 做 h5 怎麼實現 掃碼功能調用手機相機掃碼
這個和vue沒關系
<input type="file" accept="image/*" capture="camera">
在頁面導入二維碼解析庫,用相機識別二維碼,再用庫進行識別
兼容性不好
㈡ H5調用本地相冊/相機上傳圖片
在開發中有時候會用到H5調用本地圖片粗伏或者相機,像第三方的實名認證,在線客服等蔽凳檔等都需要上宏亂傳圖片。H5中只需要通過 <input> 調用即可,ios是可以的實現的,不需要自己處理,除非客戶端壓縮圖片,但是Android中需要自己處理,比較坑,本文記錄H5調用本地圖片或者相機的實現過程以及遇到的問題。
H5主要是通過 input 標簽來獲取圖片
通過 WebView 載入 h5 頁面,監聽 WebView 對應的方法,實現自己的邏輯。
當點擊 input 標簽的時候會調用 WebChromeClient 的 onShowFileChooser() 方法(5.0+)或者 openFileChooser() 方法(3.0+)在改方法中處理自己邏輯,這里是彈出一個原生的選擇框,選擇從相冊還是拍照獲取圖片。
拍照和打開相冊功能封裝到了 PhotoUtils 工具類中了。
file_paths.xml
從相冊中選擇
onActivityResult() 方法處理
這里使用 Luban 壓縮以後再上傳的