前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小程序base64转为本地图片

小程序base64转为本地图片

作者头像
〆 千寻、
发布2020-03-11 18:53:50
3.5K0
发布2020-03-11 18:53:50
举报
文章被收录于专栏:技术分享文章技术分享文章

第一步: 新建一个js文件,位置自己决定

代码语言:javascript
复制
const fsm = wx.getFileSystemManager()
const FILE_BASE_NAME = 'tmp_base64src'

function base64src (base64data, cb) {
  const [, format, bodyData] = /data:image\/(\w+);base64,(.*)/.exec(base64data) || []
  if (!format) {
    return (new Error('ERROR_BASE64SRC_PARSE'))
  }
  const filePath = `${wx.env.USER_DATA_PATH}/${FILE_BASE_NAME}.${format}`
  const buffer = wx.base64ToArrayBuffer(bodyData)
  fsm.writeFile({
    filePath,
    data: buffer,
    encoding: 'binary',
    success () {
      cb(filePath)
    },
    fail () {
      return (new Error('ERROR_BASE64SRC_WRITE'))
    }
  })
}
export { base64src }

第二步: 在需要使用的文件中引入并使用

代码语言:javascript
复制
import { base64src } from '../../utils/base64src.js'
Page({
  data: {
    shareQrImg: "data:image/jpeg;base64,/9j/4AAQSkZJRgA........GASDFKGKF=" //base64图片
  },
  onLoad: function (options) {
    base64src(this.data.shareQrImg, res => {
      console.log(res) // 返回图片地址,直接赋值到image标签即可
    });
  },
})

如果需要网络图片转换成base64格式

代码语言:javascript
复制
wx.request({
  url: "https://s0.2mdn.net/simgad/10657937226496242109",
  method: 'GET',
  responseType: 'arraybuffer',
  success: (res) => {
    let base64 = wx.arrayBufferToBase64(res.data);
    let userImageBase64 = 'data:image/jpg;base64,' + base64;
    console.log(userImageBase64); // 打印base64格式图片
    // 如果需要使用本地缓存图片,请参照第一步
  }
})
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年10月29日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档