Cordova 2.8.1:camera.getPicture与ios上的Photolibary源
使用cordova 2.8.1,我正在尝试使用photolibrary制作camera.getPicture。它似乎适用于android,但不适用于iOS。下面是如何调用getPicture代码。在配备iOS 6的iPhone4S上,它允许我选择一个图像,但一旦选择完毕,就会调用错误回调,参数为nullCordova 2.8.1:camera.getPicture与ios上的Photolibary源,ios,cordova,Ios,Cordova,使用cordova 2.8.1,我正在尝试使用photolibrary制作camera.getPicture。它似乎适用于android,但不适用于iOS。下面是如何调用getPicture代码。在配备iOS 6的iPhone4S上,它允许我选择一个图像,但一旦选择完毕,就会调用错误回调,参数为null var options = { quality : 30, destinationType : Camera.DestinationType.FILE_U
var options = {
quality : 30,
destinationType : Camera.DestinationType.FILE_URI,
sourceType : Camera.PictureSourceType.PHOTOLIBRARY,
correctOrientation: true,
targetWidth: 800,
targetHeight: 800
};
navigator.camera.getPicture(this.captureSuccessPre, this.captureError, options);
我被告知在console.logs周围添加一个超时。在phonegaps文档中,它声明要围绕警报执行此操作。下面是我的错误回调。哪些日志[错误为空]
captureError: function(error){
setTimeout(function(){
console.log("error " + error); //logs error null
}, 100);
}
任何人都有任何想法。我已经挣扎了几天了。如果它对任何人都有帮助,那么这段代码可以完美地工作
sourceType : Camera.PictureSourceType.CAMERA,
我有完全相同的问题;似乎与DestinationType.FILE\u URI相关 试试这个:
var options = {
quality : 30,
destinationType: navigator.camera.DestinationType.NATIVE_URI,
sourceType : Camera.PictureSourceType.PHOTOLIBRARY,
correctOrientation: true,
targetWidth: 800,
targetHeight: 800
};
看起来2.8.0中有一个bug-如果您升级到2.9.0,它会修复它([CB-3757]camera.getPicture from photolib在iOS上失败-试试这个,它会对您有所帮助
function uploadFromGallery(){
navigator.camera.getPicture(uploadPhoto,function(message){
console.log('get picture failed'); },
{quality: 75,
destinationType: navigator.camera.DestinationType.FILE_URI,
sourceType:navigator.camera.PictureSourceType.PHOTOLIBRARY,
allowEdit:true,
targetWidth: 100,
targetHeight: 100
});
}
你真棒!非常感谢你。我会投赞成票,但我想我是一个太多的stackoverflow初学者,不允许这样做。我注意到的一件事是,这会导致相机捕获(源类型:camera.PictureSourceType.camera)在iPad2上无法工作。是的,我也遇到了这个问题。。。我切换回文件_URI并输入encodingType:encodingType:Camera.encodingType.PNG现在似乎也能工作了…刚刚升级,我觉得问题仍然存在于2.9中。