微信小程序中将图片转为二进制流保存到mysql数据库

核心代码

changeBlob: function(imgPath) {
    wx.chooseImage({
      success: res => {
        // 借鉴:https://blog.csdn.net/qq_36875339/article/details/81086205
        // 简写模式:
        let imgbase64 = 'data:image/png;base64,' + wx.getFileSystemManager().readFileSync(res.tempFilePaths[0], "base64")
        // 详细模式:
        // let imgbase64 = wx.getFileSystemManager().readFile({
        //   filePath: imgPath, //选择图片返回的相对路径
        //   encoding: 'base64', //编码格式
        //   success: res => { //成功的回调
        //     console.log('data:image/png;base64,' + res.data)
        //   }
        // })
        this.data.imgList.push(imgbase64)
        this.setData(this.data)
      }
    })
  },

前端代码:

<view class="icon" bindtap="changeBlob">+</view>

这样就可以实现,点击+,选择图片,将图片转为二进制后保存到imgList数组中。
因为base64的图片要通过image标签展示出来时,需要加前缀data:image/png;base64,,所以在获取到图片对应的二进制流时就将前缀拼接上去,到时候从数据库中取出来时就可以直接用。
将其存到数据库中,需要注意的是字段类型要选longtext,longtext最多可以存4g的内容,理论上够用了。

  • 9
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 19
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值