运行 Cordova/Phonegap 6.4.0,Android 5.0,用 Inappbrowser 和 Iframe 测试,两者都不会打开相机,只是打开了一个 Native 文件选择窗口。但我需要打开相机。
<input type="file" name="fileToUpload" id="fileToUpload" accept="image/*" capture="camera">
运行 Cordova/Phonegap 6.4.0,Android 5.0,用 Inappbrowser 和 Iframe 测试,两者都不会打开相机,只是打开了一个 Native 文件选择窗口。但我需要打开相机。
<input type="file" name="fileToUpload" id="fileToUpload" accept="image/*" capture="camera">
编辑:
我以前遇到过这个问题。它适用于某些设备,而不适用于其他设备。似乎有些设备使用不同的 webviews,它们可能完全支持也可能不完全支持 HTML 中的相机输入,或者他们期望看起来不同的语法。
出于这个原因,我建议使用相机插件。因为这在所有设备上提供了一致的结果。
Cordova 文件插件:
https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/
连同 Cordova 文件传输插件:
https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file-transfer/
如果您只想选择图像或图片,您可以使用 Cordova 相机插件
https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-camera/
使用它,您可以让用户从他们的相机中选择图像
安装相机插件:
cordova plugin add cordova-plugin-camera
示例相机插件 JS 代码:
var cameraOptions = {
destinationType: Camera.DestinationType.DATA_URL,
sourceType: Camera.PictureSourceType.CAMERA
}
function cameraSuccess(data){
console.log(data);
var img = document.getElementById("yourImg");
img.src = data;
}
function cameraError(error){
console.log(error);
}
navigator.camera.getPicture(cameraSuccess, cameraError, cameraOptions);
示例 HTML:
<div><img id="yourImg" src=""/><div>
原来的
尝试使用这一行:
<input type="file" accept="image/*;capture=camera">
请注意,我在 accept 属性中包含了 capture 属性。