微信小程序base64转成图片url

//base64转换成图片
 getBase64ImageUrl: function(data) {
     /// 获取到base64Data
     var base64Data = data;
     /// 通过微信小程序自带方法将base64转为二进制去除特殊符号,再转回base64
     base64Data = wx.arrayBufferToBase64(wx.base64ToArrayBuffer(base64Data));
     /// 拼接请求头,data格式可以为image/png或者image/jpeg等,看需求
     const base64ImgUrl = "data:image/png;base64," + base64Data;
     /// 刷新数据
     return base64ImgUrl;
 },

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信小程序可以通过wx.request方法实现图片上传,而带参数的base64图片上传需要先将base64编码换为文件流并附加参数,然后再发送请求上传。以下是实现过程的示例代码: 1. 将base64编码换为文件流 ``` // 将base64编码换为文件流 function base64ToFile(base64Data, fileName) { const array = wx.base64ToArrayBuffer(base64Data) const filePath = `${wx.env.USER_DATA_PATH}/${fileName}` wx.getFileSystemManager().writeFile({ filePath, data: array, encoding: 'binary', success: () => { console.log('base64文件流功') return filePath }, fail: () => { console.log('base64文件流失败') return null } }) } ``` 2. 将文件流和参数一起上传 ``` // 上传图片 function uploadImage(filePath, params) { const token = wx.getStorageSync('token') const header = { 'Authorization': `Bearer ${token}`, 'content-type': 'multipart/form-data' } wx.uploadFile({ url: 'https://example.com/upload', filePath: filePath, name: 'file', formData: params, header: header, success: (res) => { console.log('上传功', res) }, fail: (res) => { console.log('上传失败', res) } }) } ``` 3. 调用函数进行上传 ``` const base64Data = 'data:image/png;base64,iVBORw0KGg...'; const fileName = 'image.png'; const params = {param1: 'value1', param2: 'value2'}; const filePath = base64ToFile(base64Data, fileName); uploadImage(filePath, params); ``` 注意:上传文件需要在开发者工具中设置“不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书”选项。在真机上测试时,需要在小程序管理后台的“开发设置”中添加上传图片的域名。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值