最近作的小程序须要图片上传头像的功能,不对上传的图片作处理确定出来的效果很差;因此就隐藏了一个canvas对上传的图片进行压缩或者进行大小的编辑;canvas
经过chooseImage方法,能够拿到图片的临时路径;而后,drawImage到canvas上;再经过canvasToTempFilePath的方法将处理后的图片导出路径来,最后上传到服务器上;小程序
那么问题出现了:选择的图片drawImage到canvas没有问题;可是怎么canvasToTempFilePath导出的路径图片都是空白的;服务器
问题过程:异步
一、以前,经过这种方式导出来没有问题的;函数
二、从网上找到你们解决方式,经过draw回调来导出图片,可是仍是不行,draw的第一次参数reserve设置为false;spa
三、修改fileType类型;对象
经过以上方法仍旧不行,通过反复跟踪才发现原来问题不出在canvasToTempFilePath这个方法上;原来是我在选择图片的时候canvas标签是hidden的,选择图片后才让它显示。图片
这样拿到的canvas中的图片对象是空的,造就了图片是空白的;回调函数
还有一种状况导出图片是空白,是由于draw的回调函数是异步的,在调用canvasToTempFilePath方法适当的加一些时间延迟;图片上传
分享不是为了别的,只是但愿填坑;谢谢!