uniapp carema组件图片上传需要先转为base64格式的问题

这段时间在做微信小程序ocr发票识别的功能,用到了uniapp里面的carema拍照的组件,在图片上传的时候遇到了一些坑。
下面我来说一说:

1. carema组件拍照之后会返回一个http的图片地址

在这里插入图片描述
图片地址是这样的,只有一个http协议,没有域名,没有端口号,很显然,这个是只有本地才能识别的一个图片地址,当把这个地址放到浏览器上,你就会发现是这样的
在这里插入图片描述
直接无法访问

2. 如何将carema组件生成的图片让浏览器能够识别呢?

这个我们就需要把图片转换为base64格式
方法如下:

transformBase(res) {  //res是carema组件返回的图片地址
	let that = this;
	var FSM = wx.getFileSystemManager();
	FSM.readFile({
		filePath: res,
		encoding: "base64",
		success: function(data) {
			let Working = data.data;
			that.getBase64ImageUrl(Working)
		}
	});
},
getBase64ImageUrl: function(res) {
	var base64Data = res;
	base64Data = wx.arrayBufferToBase64(wx.base64ToArrayBuffer(base64Data));
	let base64Url = "data:image/png;base64," + base64Data;
}

最后的base64Url就是我们需要的base64图片编码,这样,我们就转化成功了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值