标签:function name url 压缩 base64 h5 相机 plus entry
调用h5+ 相机方法,并将照片转为base64格式
plus.camera.getCamera
// 调用相机
chooseImage(o) {
try {
const camera = plus.camera.getCamera();
camera.captureImage(function (path) {
// path 为获取拍照照片的url
plus.io.resolveLocalFileSystemURL(path, async (entry) => {
// entry 为获取的文件对象
// 图片太大,进行压缩
const res = await _this.compressImage(
entry.toLocalURL(),
entry.name
);
// 将压缩后的转化为base64格式
const url = await _this.showPics(res.target, entry.name);
});
});
} catch (err) {
alert("请使用手机操作");
console.log("请使用手机操作");
}
},
// 压缩
compressImage(url, filename) {
return new Promise((resolve, reject) => {
var name = "_doc/upload/" + filename;
plus.zip.compressImage(
{
src: url, //src: (String 类型 )压缩转换原始图片的路径
dst: name, //压缩转换目标图片的路径
quality: 90, //quality: (Number 类型 )压缩图片的质量.取值范围为1-100
overwrite: true, //overwrite: (Boolean 类型 )覆盖生成新文件
width: "250",
height: "320",
},
function (zip) {
//页面显示图片
// showPics(zip.target, name);
resolve(zip);
},
function (error) {
reject(error);
// plus.nativeUI.toast("压缩图片失败,请稍候再试");
}
);
});
},
// 转base64
showPics(url, name) {
return new Promise((resolve, reject) => {
//根据路径读取到文件
plus.io.resolveLocalFileSystemURL(url, function (entry) {
entry.file(function (file) {
var fileReader = new plus.io.FileReader();
fileReader.readAsDataURL(file);
fileReader.onloadend = function (e) {
var picUrl = e.target.result.toString();
resolve(picUrl);
};
});
});
});
},
标签:function,name,url,压缩,base64,h5,相机,plus,entry 来源: https://www.cnblogs.com/weizhongqi/p/16379400.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。