在做一个花卉识别的小程序,接口规定需要上传的是base64格式的图片。
在小程序中测试了确实有FileReader对象,readAsDataURL方法也是有的
通过chooseImage上传图片得到tempFilePath
{path: "wxfile://tmp_713446332o6zAJs2J8Y_akx660xBvls13t1aQ79edf96a81428a0cbbd12d556491c41d.png", size: 1325}
然后把这个作为参数传入readAsDataURL就报错了
这是报错
TypeError: Failed to execute 'readAsDataURL' on 'FileReader': parameter 1 is not of type 'Blob'
应该是微信chooseImage上传图片生成的是临时路径,FileReader对象获取不到图片?
不知道这里如何解决比较合适
@楼上,放弃吧,我之前已经翻了论坛所有关于这个问题的贴,都没有解决方案,只能通过服务端转了,趁早找找其它方法吧
有微信小程序或者是qq小程序,
如果是微信小程序的话,可以用wx.getLocalImgData这个方法,这个方法是把图片变成了base64了,然后怎么操作就看个人需求了。
现在是想问问,有人有找到qq小程序的上传吗?
qq.chooseImage方法后,并没有找到对应的后续获取图片的方法。(刨除上传到服务端在处理)
同问 有没有解决啊
解决了没?
同问,不过你这个报错,是readAsDataURL方法里面的参数应该是Blob类型的,你传入的tempFilePath不是Blob类型,所以才报的错。
所以我们的问题应该是:怎么通过chooseImage把图片转成Blob