收藏
回答

关于readFileSync() API 在实机中将超过190kb的图片,转化为base64格式

框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
小程序 Bug Android Android 10 荣耀 10 7.0.16

很简单的一个复现方法。

使用wx.chooseImage()选择一张手机图片,let res = wx.getFileSystemManager().readFileSync(image.tempFilePaths[0], "base64")

直接console.log(res),打印出图片的转化结果。开发者工具是正常的,在转化超过4Mb的图片时才会报错

但实机小程序端转化超过190kb的图片时,就会报错!

最后一次编辑于  2020-07-25
回答关注问题邀请回答
收藏

3 个回答

  • Choice
    Choice
    2021-04-20

    最后咋解决的

    2021-04-20
    有用
    回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2020-07-25

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2020-07-25
    有用
    回复 6
    • Garin
      Garin
      2020-07-25
      您好,代码片段已提交。查出问题后,请回复我,谢谢
      2020-07-25
      回复
    • 疯狂的小辣椒
      疯狂的小辣椒
      2020-07-26回复Garin
      只有荣耀10有这个问题么?我测试华为HUAWEI nova3e是正常的,有哪些机型出现这个问题麻烦都列下,还有对应的系统版本、微信版本
      2020-07-26
      回复
    • Garin
      Garin
      2020-07-26
      您好,我还测试了iphone7机型。系统:ios 13.6   版本:7.0.14
      同样存在问题!!


      这个问题的关键是:我要得到转化图片的base64代码。如果成功转化,控制台会console出图片base64代码。


      在代码片段复现时:注意,打开调试模式。选择超过190kb的图片。然后,你会发现,小程序能运行。但控制台会爆错误,并且控制台的console已经卡死。无法打开和查看console出来的base64代码。
      2020-07-26
      回复
    • Garin
      Garin
      2020-07-28回复疯狂的小辣椒
      您好,请问我反馈的问题得到肯定了吗?如果,官方觉得不需要修复这个问题的话。麻烦请回复一下我。我就修改项目,限制图片大小,来避开这个问题。
      2020-07-28
      回复
    • 疯狂的小辣椒
      疯狂的小辣椒
      2020-07-28回复Garin
      这个问题还在定位中,主要是没有能复现,建议先通过限制图片大小规避吧
      2020-07-28
      回复
    查看更多(1)
  • Garin
    Garin
    2020-07-25

    测试了很多次,图片大小限制在190kb

    2020-07-25
    有用
    回复
登录 后发表内容
问题标签