我在我的离子型应用程序中添加了科多瓦插件相机插件,以便使用它的两个广告--用相机拍照,并从照片库获取图像。
在我的安卓星系s3设备上,用相机拍摄一张照片非常有效,但是从图片库获取图像在成功结果函数中返回为NULL。
我尝试使用这两个$cordovaCamera.getPicture,比如这里和这示例中的navigator.camera.getPicture,在我选择设备上的图像之后,它们都返回null作为成功方法中的结果参数。
我试着玩了所有的destinationType (DATA_URL,FILE_URL,NATIVE_URI)的三个选项中的任何一个,尝试了保存/不保存到图片库,编辑/取消编辑,编码类型说明jpeg,mediaType图片等等。他们中没有一个与光库或SAVEDPHOTOALBUM合作,但在照相机上工作得很好。
这就是我写的代码:
第1页:
var options = {
destinationType: Camera.DestinationType.FILE_URI,
sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
correctOrientation: true,
allowEdit: true
};
$cordovaCamera.getPicture(options)
.then(function (imageURI) {
if (!imageURI) {
console.log('getPicture: no image selected');
return;
}
// upload image to server code goes here
});第二稿:
navigator.camera.getPicture(onSuccess, onFail,
{
destinationType: Camera.DestinationType.FILE_URI,
sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
correctOrientation: true,
allowEdit: true
});
function onSuccess(imageData) {
console.log(imageData);
// upload image to server code goes here
}
function onFail(message) {
alert('Failed because: ' + message);
}有人能给出建议吗?问题是什么?(为什么imageURI/imageData是空的)也许我遗漏了一些配置?我没有主意了..。
发布于 2016-02-20 12:23:16
我在Ionic框架中问过同样的问题,论坛和fajohann回答说,当他安装了一个更老版本的插件时,它工作得很好。我自己试过,一个接一个地安装以前的版本,直到我让它正常工作为止。我发现支持android的最新版本(在选择图像时不返回NULL )是v1.2.0
为了安装它,您应该运行以下命令:
离子插件添加cordova插件@1.2.0
发布于 2016-02-23 14:54:46
使用这个插件的旧版本并不是一个好的解决方案,当某些东西不起作用时,您必须在http://issues.cordova.io上打开一个问题,提供您可以提供的所有相关信息,这样开发人员就可以知道并修复这个问题。
幸运的是,有人报告了这个问题,https://issues.apache.org/jira/browse/CB-10625,它是固定的。
这些更改将在2.1.1版的插件上提供,但尚未发布。同时,您可以从github url安装插件。
ionic plugin add https://github.com/apache/cordova-plugin-camerahttps://stackoverflow.com/questions/35243605
复制相似问题