拍照图片base64转换问题
请问拍照后获取到图片路径怎么转换成base64格式的内容呢?
目前我在小程序开发过程中有如下的一个应用场景需要转base64,我们一个业务流程需要做静态图片的人脸识别,用户拍照后需要转成base64传到后台,我按照官方文档的做法做了如下处理,但是在开发工具模拟器上执行没有问题,预览的时候就不行了。具体代码如下:
5 回复
能执行,但不能预览,是因为:实际上你这个写法是将那个图片路径字符串转码转成了base64。。。不行你把得出来的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); }); |