当我尝试从android中的图库中获取一个图像时,我收到错误“无法创建位图”。 我看到了日志,我发现了这个错误: / CameraLauncher(16616):文件locaton是:/ storage / emulated / 0 / WhatsApp / Media / WhatsApp Images / IMG-20160303-WA0002.jpg W / System.err(16616):java.io.FileNotFoundException:没有这样的文件或目录
我认为错误是由空白生成的。
我使用的是cordova cli 6.0,这是我的代码:
var options = {
destinationType: Camera.DestinationType.FILE_URI,
sourceType: navigator.camera.PictureSourceType.SAVEDPHOTOALBUM,
quality: 30,
targetWidth: 300,
targetHeight: 300
};
var q = $q.defer();
navigator.camera.getPicture(function (result) {
// Do any magic you need
q.resolve(result);
}, function (err) {
q.reject(err);
}, options);
return q.promise;
如何修复此错误?
谢谢!
答案 0 :(得分:1)
这是一篇旧帖子,但无论如何我都会回答。
我遇到了类似的问题,但对我来说,在尝试保存实际图像时,GetPicture之后发生了错误。正如您所怀疑的,它是" WhatsApp图像"这会导致问题,所以我用'%20'替换空格。 URI编码可能是更好的选择。请参阅下面第3行的.replace
$cordovaCamera.getPicture(options).then(function (imageUrl) {
if (ionic.Platform.isAndroid()) {
imageUrl = imageUrl.replace(" ", "%20");
AppFileService.storeWallImage(imageUrl);
resolve({
img: imageUrl
});
});