公司提了圖片壓縮的需求,在網(wǎng)上查了些資料,用canvas實(shí)現(xiàn)了奈虾,但發(fā)現(xiàn)使用wx.canvasToTempFilePath如果只是打印圖片地址然后點(diǎn)擊地址查看圖片绞灼,或者保存圖片至相冊再查看圖片,拿到的圖片就是正常的邦鲫,但我如果要在壓縮后的success回調(diào)中使用圖片去做一些事情(比如編碼wx.getFileSystemManager().readFile、上傳至服務(wù)器wx.request)神汹,拿到的圖片就是空白的庆捺。
經(jīng)過多次調(diào)試后發(fā)現(xiàn),是這里的問題
這里需要設(shè)置的多一點(diǎn)屁魏。我之前設(shè)置的100滔以,即100ms,可能因?yàn)樯蟼髦练?wù)器是異步的氓拼,導(dǎo)致100ms內(nèi)canvas沒法完成圖片加載操作你画,生成的圖片就是空白的抵碟。改成1000之后拟逮,圖片有足夠長的時(shí)間渲染唱歧,就不會出現(xiàn)空白圖片的問題了。