收藏
评论

好的经验要分享:chooseImage转base64

好的经验必须要分享:chooseImage后转base64

现在网上各种帖子的解决方案存在各种各样的问题,不说了,直接贴代码,手机亲测,没有问题


const fileManager = wx.getFileSystemManager();


最后一次编辑于  2018-08-31  (未经腾讯允许,不得转载)
复制链接收藏赞 10

20 个评论

  • 卢霄霄
    卢霄霄
    2018-08-31

    好的,我记住了,出问题了我会来找你的哈~

    2018-08-31
    赞同 1
    回复 4
    • 🐰🐏🐰
      🐰🐏🐰
      2018-08-31

      亲测过,没有问题,pc和ios都没有问题,android没试过

      2018-08-31
      回复
    • 蔡生锋
      蔡生锋
      2018-11-01

      安卓小米显示不了

      2018-11-01
      回复
    • 跃迁
      跃迁
      2018-12-07

      安卓华为,用这种方式转base64,解码成图片,会失败

      2018-12-07
      回复
    • 卢霄霄
      卢霄霄
      2018-12-07回复跃迁

      哈哈哈哈 别找我。。找楼主~

      2018-12-07
      回复
  • 笑笑
    笑笑
    04-11

    真机,体验版,小米NOTE3,亲测有效.

    获取本地图片,转换成base64.

    基于wepy框架



    let res = await wepy.chooseImage({
            count: 1,
            sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
            sourceType: ['album', 'camera'] // 可以指定来源是相册还是相机,默认二者都有
        });
     
        let base64 = 'data:image/png;base64,' + wx.getFileSystemManager().readFileSync(res.tempFilePaths[0], 'base64')
        console.log("base64",base64)
        this.form.backImg = base64;
        this.$apply();


    04-11
    赞同 1
    回复
  • 萝卜权
    萝卜权
    2018-09-06

    完美解决了我遇到我问题,谢谢!


    我之前还在用

    wx.request({

        url: e.tempFilePaths[0]

    })

    的方式,在真机上有问题,用这个方式就能用。

    2018-09-06
    赞同
    回复
  • Way Back Home
    Way Back Home
    2018-09-21

    老哥,这里转换base64的话,我遇到了选择一个图片过大,比如4兆,转换成base64之后 ,数据量太大 导致页面不显示的问题,控制台报错 :

    vdSyncBatch 数据传输长度为 4356838 已经超过最大长度 1048576


    2018-09-21
    赞同
    回复 2
    • 🐰🐏🐰
      🐰🐏🐰
      2018-09-21

      这是小程序的限制,setData只能最大1M,建议先调用后台接口上传图片,用图片地址去渲染,而不是直接用base64去渲染图片,或者直接限制图片的大小,不然没法直接用setData(base64)渲染图片

      2018-09-21
      回复
    • Way Back Home
      Way Back Home
      2018-09-21回复🐰🐏🐰

      好的, 谢谢!

      2018-09-21
      回复
  • Way Back Home
    Way Back Home
    2018-09-21


    2018-09-21
    赞同
    回复
  • Sunflower⁶₆⁶₆⁶₆
    Sunflower⁶₆⁶₆⁶₆
    2018-10-15

    楼主,能转成二进制流传吗

    2018-10-15
    赞同
    回复 2
  • 还好
    还好
    2018-10-15

    网络图不可以吗?

    2018-10-15
    赞同
    回复
  • ICEMUSIC
    ICEMUSIC
    2018-10-22

    有沒有完整代碼展示?filemanager未定義?

    2018-10-22
    赞同
    回复 1
    • 🐰🐏🐰
      🐰🐏🐰
      2018-11-08

      const fileManager = wx.getFileSystemManager();

      2018-11-08
      回复
  • Dave
    Dave
    2018-11-08

    想问一下,data:image/jpg   ;   这个地方的jpg写死了,上传png图片的时候不会有问题吗?


    2018-11-08
    赞同
    回复
  • #NAME?
    #NAME?
    06-11

    请问图片转换成base64,然后上传服务器数据库也是这个问题吗??


    06-11
    赞同
    回复