最近作的小程序須要圖片上傳頭像的功能,不對上傳的圖片作處理確定出來的效果很差;因此就隱藏了一個canvas對上傳的圖片進行壓縮或者進行大小的編輯;canvas
經過chooseImage方法,能夠拿到圖片的臨時路徑;而後,drawImage到canvas上;再經過canvasToTempFilePath的方法將處理後的圖片導出路徑來,最後上傳到服務器上;小程序
那麼問題出現了:選擇的圖片drawImage到canvas沒有問題;可是怎麼canvasToTempFilePath導出的路徑圖片都是空白的;服務器
問題過程:異步
一、以前,經過這種方式導出來沒有問題的;函數
二、從網上找到你們解決方式,經過draw回調來導出圖片,可是仍是不行,draw的第一次參數reserve設置爲false;spa
三、修改fileType類型;對象
經過以上方法仍舊不行,通過反覆跟蹤才發現原來問題不出在canvasToTempFilePath這個方法上;原來是我在選擇圖片的時候canvas標籤是hidden的,選擇圖片後才讓它顯示。圖片
這樣拿到的canvas中的圖片對象是空的,造就了圖片是空白的;回調函數
還有一種狀況導出圖片是空白,是由於draw的回調函數是異步的,在調用canvasToTempFilePath方法適當的加一些時間延遲;圖片上傳
分享不是爲了別的,只是但願填坑;謝謝!