拍照图片base64转换问题
发布于 6 年前 作者 jie16 20225 次浏览 来自 问答

请问拍照后获取到图片路径怎么转换成base64格式的内容呢?

目前我在小程序开发过程中有如下的一个应用场景需要转base64,我们一个业务流程需要做静态图片的人脸识别,用户拍照后需要转成base64传到后台,我按照官方文档的做法做了如下处理,但是在开发工具模拟器上执行没有问题,预览的时候就不行了。具体代码如下:

5 回复

谢谢你的解答,但你的代码并没有给出一个base64转换的内容。

小程序目前还不支持图片base64内部转换,只能自己后台专门写一个图片base64转换的Api.

能执行,但不能预览,是因为:实际上你这个写法是将那个图片路径字符串转码转成了base64。。。不行你把得出来的base64去在线解码一下,你会发现还是那个图片临时路径。。。所以不显示是正常的。

另外,你的问题我同问

LZ有解决这个问题吗?

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);
          });
回到顶部