zoviC
zoviC
  • 发布:2020-06-03 15:12
  • 更新:2020-10-29 09:27
  • 阅读:1553

app端如何拍照后在页面显示缩略图?

分类:uni-app

看了image 的api 是支持绝对路径和相对路径。
请问这个问题要怎么实现呢?
plus.io.resolveLocalFileSystemURL(p, function(entry) {
//转化本地路径
var path = entry.toLocalURL();
}

我有试图把这个路径传给image,但是无法显示

还是说需要先保存到相册再获取路径去显示?
或者将其转成base64 再显示?

但是转base64也不会。。。
好难哦
谁能教教我

2020-06-03 15:12 负责人:无 分享
已邀请:
zoviC

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

ad_yfq

大佬,我试了还是不行啊,可以转成base64但是还是不会显示?

  • ad_yfq

    已解决,地址this指向问题

    2020-10-29 14:22

该问题目前已经被锁定, 无法添加新回复