本项目是用vue嵌套原生混合开发的app,使用H5+api的input标签调用摄像头,在浏览器上面调用摄像头是好的,使用hbuilder打包之后就不能正常调用摄像头
<input type="file" class="capture" capture="camera" @click="clickHandle" id="upload">
解决办法:给input绑定点击事件在methods里调用这个clickHandle这个方法利用plus.camera实现iOS的相机调用
clickHandle() {
const cmr = window.plus.camera.getCamera();
cmr.captureImage((p) => {
window.plus.io.resolveLocalFileSystemURL(p, (entry) => {
window.compressImage(entry.toLocalURL(), entry.name);
}, (e) => {
window.plus.navtiveUI.toast('读取拍照文件错误:' + e.message);
});
}, (e) => {
console.log(e);
}, { filter: 'image' });
},