我有离子3 app有以下代码来访问相机。
takePhoto() {
const options: CameraOptions = {
quality: 50,
destinationType: this.camera.DestinationType.DATA_URL,
encodingType: this.camera.EncodingType.JPEG,
mediaType: this.camera.MediaType.PICTURE,
targetWidth: 450,
targetHeight: 450,
saveToPhotoAlbum: false
};
this.camera.getPicture(options).then(
imageData => {
this.base64Image = "data:image/jpeg;base64," + imageData;
this.photos.push(this.base64Image);
this.photos.reverse();
this.sendData(imageData);
},
err => {
console.log(err);
}
);
}
如果我的平台是android / ios,它可以很好地工作并拍照。但是,当我尝试在平台上运行我的应用程序'浏览器'并通过手机访问我得到以下错误(两者都在Safari或Chrome上)。
如果我的平台是浏览器,那么在移动设备中访问相机/图库的方法是什么?
答案 0 :(得分:2)
首先,cordova-browser
是一个仅用于测试目的的平台,您不应该使用它来定位真正的浏览器应用。
cordova-plugin-camera
使用navigator.getUserMedia
用于浏览器平台,因此它应该可以在iOS 11上的Safari上正常运行,但在旧版本中则不行。它不适用于Chrome,因为Chrome for iOS只是常规的网页浏览,而且网页浏览不支持navigator.getUserMedia
。
如果要从手机中选择文件,可以使用带有文件类型的输入标签。
<input name="myFile" type="file">