收藏
回答

关于小程序中图片转换为base64格式的方法

在做一个花卉识别的小程序,接口规定需要上传的是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对象获取不到图片?


不知道这里如何解决比较合适



回答关注问题邀请回答
收藏

5 个回答

  • 〰Astorm
    〰Astorm
    2018-03-13

    @楼上,放弃吧,我之前已经翻了论坛所有关于这个问题的贴,都没有解决方案,只能通过服务端转了,趁早找找其它方法吧

    2018-03-13
    有用 1
    回复
  • LA站.半支烟
    LA站.半支烟
    2022-11-09

    有微信小程序或者是qq小程序,

    如果是微信小程序的话,可以用wx.getLocalImgData这个方法,这个方法是把图片变成了base64了,然后怎么操作就看个人需求了。


    现在是想问问,有人有找到qq小程序的上传吗?

    qq.chooseImage方法后,并没有找到对应的后续获取图片的方法。(刨除上传到服务端在处理)

    2022-11-09
    有用
    回复
  • 柒柒
    柒柒
    2018-03-13

    同问  有没有解决啊

    2018-03-13
    有用
    回复
  • 二高
    二高
    2018-02-03

    解决了没?

    2018-02-03
    有用
    回复
  • 〰Astorm
    〰Astorm
    2018-01-24

    同问,不过你这个报错,是readAsDataURL方法里面的参数应该是Blob类型的,你传入的tempFilePath不是Blob类型,所以才报的错。


    所以我们的问题应该是:怎么通过chooseImage把图片转成Blob

    2018-01-24
    有用
    回复
登录 后发表内容