最近做的租車的小程序時(shí)用到了拍照識別身份證和駕駛證,由于現(xiàn)在手機(jī)拍攝的照片文件大小一般來說都是偏大的,所以將圖片文件上傳到服務(wù)器會導(dǎo)致服務(wù)器運(yùn)行負(fù)擔(dān)過大,從而導(dǎo)致用戶在查看圖片時(shí)服務(wù)器運(yùn)行過慢等問題,所以在小程序中上傳圖片時(shí)先將圖片進(jìn)行壓縮處理,將壓縮處理后的圖片上傳至服務(wù)器,這樣就大大提升了圖片識別的效率。
1、vant weapp小程序組件
放置vant weapp圖片上傳組件,詳細(xì)使用教程可參考vant weapp小程序組件實(shí)現(xiàn)圖片上傳文章。
2、wx.compressImage壓縮圖片接口,可選壓縮質(zhì)量
參數(shù)
屬性 | 類型 | 必填 | 說明 |
src | string | 是 | 圖片路徑,圖片的路徑,支持本地路徑、代碼包路徑 |
quality | number | 否 | 壓縮質(zhì)量,范圍0~100,數(shù)值越小,質(zhì)量越低,壓縮率越高(僅對jpg有效) |
success | function | 否 | 接口調(diào)用成功的回調(diào)函數(shù) |
fail | function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) |
complete | function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行) |
實(shí)例代碼
wx.compressImage({
src:'', //圖片地址
quality:80 //圖片壓縮質(zhì)量
})
將vant weapp圖片上傳組件中上傳后返回的臨時(shí)圖片路徑放到wx.compressImage的src中,通過設(shè)置的壓縮質(zhì)量返回壓縮后圖片的臨時(shí)文件路徑。
將返回的tempFilePath路徑用于上傳到服務(wù)器接口中。
3、wx.uploadFile將本地資源上傳到服務(wù)器
實(shí)例代碼
wx.uploadFile({
url: 'https://example.weixin.qq.com/upload', //僅為示例,非真實(shí)的上傳接口
filePath: tempFilePath,
name: 'file',
success (res){
const data = res.data
}
})
將第二步中返回的tempFilePath路徑放到wx.uploadFile的filePath中,完成本地資源上傳到服務(wù)器操作,服務(wù)器接收到圖片資源后保存到服務(wù)器文件中并返回給訪問接口圖片儲存的地址,剩下的問題就交給自動化識別接口了。