我对科尔多瓦非常陌生。我正在尝试创建一个简单的应用,用户可以在其中拍照,然后该照片会以html图片标记显示。
我遇到了一些我发现难以解决的问题:
(1)首先在android上运行这个演示移动应用程序,
navigator.camera.getPicture(onSucess, onFail, { quality: 50, destinationType: Camera.DestinationType.DATA_URL, sourceType: Camera.PictureSourceType.PHOTOLIBRARY });
navigator.camera重新调整为null。这是因为浏览器将导航器对象引用到javascript导航器对象而不是cordova对象。我该如何解决这个问题?
(2)当在Visual Studio中的Android模拟器上运行时,我在尝试使用imageUri分配时遇到以下错误
代码:
function onDeviceReady() {};
$("#takePhotobtn").click(function () {
// camera plugin code to open camera and display pic.
navigator.camera.getPicture(onSucess, onFail, { quality: 50, destinationType: Camera.DestinationType.DATA_URL, sourceType: Camera.PictureSourceType.PHOTOLIBRARY });
});
function onSucess(ImageData) {
$("#candidatePhoto").attr("src", "data:image/jpeg;base64," + ImageData);
alert("yes this works updated");
}
function onFail(message) {
alert('Failed because: ' + message);
}
错误:无法加载资源:data:image / jpeg; base64,blob:http%3A // localhost%3A4400 / c78426c3-2f0e-4b9a-955c-df0005519358无法加载资源:net :: ERR_INVALID_URL
答案 0 :(得分:1)
如果有人也偶然发现了这个问题,我通过在我的主index.html中添加对cordova.js的引用来解决这个问题
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Roboto:300,400,500,700">
<link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/icon?family=Material+Icons">
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
<title>Audit Chamber</title>
</head>
<body>
<div id="root"></div>
<script type="text/javascript" src="cordova.js"></script>
</body>
</html>