看了image 的api 是支持绝对路径和相对路径。
请问这个问题要怎么实现呢?
plus.io.resolveLocalFileSystemURL(p, function(entry) {
//转化本地路径
var path = entry.toLocalURL();
}
我有试图把这个路径传给image,但是无法显示
还是说需要先保存到相册再获取路径去显示?
或者将其转成base64 再显示?
但是转base64也不会。。。
好难哦
谁能教教我
看了image 的api 是支持绝对路径和相对路径。
请问这个问题要怎么实现呢?
plus.io.resolveLocalFileSystemURL(p, function(entry) {
//转化本地路径
var path = entry.toLocalURL();
}
我有试图把这个路径传给image,但是无法显示
还是说需要先保存到相册再获取路径去显示?
或者将其转成base64 再显示?
但是转base64也不会。。。
好难哦
谁能教教我
2 个回复
zoviC (作者) - 萌新
解决了
思路是这样的。拍照后拿到路径---使用uni.compressImage将图片压缩---转为base64----将传给<image> src
以下为代码
//获取拍照
var cmr = plus.camera.getCamera();
cmr.captureImage(
function(p) {
plus.io.resolveLocalFileSystemURL(p, function(entry) {
uni.compressImage({
src: entry.toLocalURL(),//图片路径
quality: 30,//压缩率
success: res => {
plus.io.resolveLocalFileSystemURL(res.tempFilePath, function(entry2) {
// 通过fileReader得到base64
entry2.file(function(file) {
var fileReader = new plus.io.FileReader();
fileReader.readAsDataURL(file);
fileReader.onloadend = function(evt) {
var base64 = evt.target.result;
//将base64传给image的src
_self.src = base64;
};
});
});
}
});
});
},
function(error) {
console.log('---' + 'Capture image failed: ' + error.message);
},
{}
);
ad_yfq
大佬,我试了还是不行啊,可以转成base64但是还是不会显示?
ad_yfq
已解决,地址this指向问题
2020-10-29 14:22