收藏
评论

base64图片存本地(得到本地路径)

需求:

    目前需要在一个页面中加载使用很多image组件,加载图片,采用的是[data:image..base64,...]格式的图片直接放在src里.但在真机测试时,可以导致wxml里内容太多,小程序直接无响应.所以想着把 从服务端传来的base64格式的图片转成本地文件路径后,再放到image组件的src里.

解决:

    在社区里查了好多帖子,发现都是提此类问题,但均没有结果.后来在网上找到了解决方法,现分享如下:


    var base64 = "data:image...";//base64格式图片

    var imgPath = wx.env.USER_DATA_PATH+'/页面名称'+'你的图片名'+ '.png';

    //如果图片字符串不含要清空的前缀,可以不执行下行代码.

    var imageData = base64.replace(/^data:image\/\w+;base64,/, "");

    

    var fs = wx.getFileSystemManager();


    fs.writeFileSync(imgPath, imageData, "base64");


 至此就可以用imgPath(图片的本地文件路径)进行后继大家想要的操作了!

 注意用完后,及时清理本地文件.释放储存空间.


最后:发现社区中已有此种解决方法了,之前没找到.

最后一次编辑于  2018-11-09
收藏

12 个评论

  • 王.
    王.
    2022-08-23

    您好,我这里使用此方法得到链接但无内容,请问是什么问题?

    2022-08-23
    赞同
    回复
  • 阿肥发
    阿肥发
    2021-10-14

    666 解决了两天的问题

    2021-10-14
    赞同
    回复
  • 学无止境
    学无止境
    2021-06-10

    多次调用后writeFileSync会失败是什么原因

    2021-06-10
    赞同
    回复
  • 绯夜
    绯夜
    2020-10-11

    请问为什么安卓使用wx.previewImage预览转化后的本地图片黑屏,地址是可以打印到的,但是显示黑屏,ios就可以正常展示

    2020-10-11
    赞同
    回复
  • 柠檬茶
    柠檬茶
    2020-08-18

    模拟器上测可以保存,但是手机上面测就保存不了

    2020-08-18
    赞同
    回复
  • A 搜券助手
    A 搜券助手
    2019-05-20

    请问用writeFile写入的本地用户文件,怎么才能清除啊,文档中写的是无法清除的啊,你是怎么做到的?

    2019-05-20
    赞同
    回复 1
  • 青儿
    青儿
    2019-05-11

    怎样清理writeFile文件呀

    2019-05-11
    赞同
    回复 1
  • 如意如意
    如意如意
    2019-01-23

    您好,想问一下wx.env.USER_DATA_PATH这个是什么路径?

    2019-01-23
    赞同
    回复 1
    • 治辰科技于鲁宁
      治辰科技于鲁宁
      2019-03-15

      微信提供了一个用户文件目录给开发者,开发者对这个目录有完全自由的读写权限。通过wx.env.USER_DATA_PATH可以获取到这个目录的路径。

      2019-03-15
      回复
  • Gavin
    Gavin
    2018-11-16

    mark

    2018-11-16
    赞同
    回复
  • 2018-11-08

    非常感谢!找了这么久终于找到了这个回答!谢谢

    2018-11-08
    赞同
    回复

正在加载...

登录 后发表内容