小程序
小游戏
企业微信
微信支付
扫描小程序码分享
请问拍照后获取到图片路径怎么转换成base64格式的内容呢?
目前我在小程序开发过程中有如下的一个应用场景需要转base64,我们一个业务流程需要做静态图片的人脸识别,用户拍照后需要转成base64传到后台,我按照官方文档的做法做了如下处理,但是在开发工具模拟器上执行没有问题,预览的时候就不行了。具体代码如下:
5 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
能执行,但不能预览,是因为:实际上你这个写法是将那个图片路径字符串转码转成了base64。。。不行你把得出来的base64去在线解码一下,你会发现还是那个图片临时路径。。。所以不显示是正常的。
另外,你的问题我同问
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
小程序目前还不支持图片base64内部转换,只能自己后台专门写一个图片base64转换的Api.
LZ有解决这个问题吗?
谢谢你的解答,但你的代码并没有给出一个base64转换的内容。
var
xhr =
new
XMLHttpRequest();
xhr.responseType =
'blob'
;
xhr.onload =
function
() {
reader =
FileReader();
reader.onloadend =
callback(reader.result);
}
reader.readAsDataURL(xhr.response);
};
xhr.open(
'GET'
, url);
xhr.send();
这是我之前的一个项目的代码,你可以在你的项目里面多console,看看具体数据内容。
fileExt = filePath.substring(filePath.lastIndexOf(
'.'
) + 1);
toDataUrl(filePath,
(base64Img) {
options = {
type: fileExt,
fileContent: base64Img
uploadCallback =
(data) {
data.results.fileLocalPath = filePath;
def.resolve(data);
service.uploadImg(options, uploadCallback);
});
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
能执行,但不能预览,是因为:实际上你这个写法是将那个图片路径字符串转码转成了base64。。。不行你把得出来的base64去在线解码一下,你会发现还是那个图片临时路径。。。所以不显示是正常的。
另外,你的问题我同问
小程序目前还不支持图片base64内部转换,只能自己后台专门写一个图片base64转换的Api.
LZ有解决这个问题吗?
谢谢你的解答,但你的代码并没有给出一个base64转换的内容。
var
xhr =
new
XMLHttpRequest();
xhr.responseType =
'blob'
;
xhr.onload =
function
() {
var
reader =
new
FileReader();
reader.onloadend =
function
() {
callback(reader.result);
}
reader.readAsDataURL(xhr.response);
};
xhr.open(
'GET'
, url);
xhr.send();
这是我之前的一个项目的代码,你可以在你的项目里面多console,看看具体数据内容。
var
fileExt = filePath.substring(filePath.lastIndexOf(
'.'
) + 1);
toDataUrl(filePath,
function
(base64Img) {
var
options = {
type: fileExt,
fileContent: base64Img
};
var
uploadCallback =
function
(data) {
data.results.fileLocalPath = filePath;
def.resolve(data);
};
service.uploadImg(options, uploadCallback);
});