0

运行 Cordova/Phonegap 6.4.0,Android 5.0,用 Inappbrowser 和 Iframe 测试,两者都不会打开相机,只是打开了一个 Native 文件选择窗口。但我需要打开相机。

<input type="file" name="fileToUpload" id="fileToUpload" accept="image/*" capture="camera">
4

1 回答 1

0

编辑:

我以前遇到过这个问题。它适用于某些设备,而不适用于其他设备。似乎有些设备使用不同的 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 属性。

于 2017-04-21T06:39:18.817 回答