当我尝试从 android 中的图库中获取一张图像时,出现“无法创建位图”错误。 我看过日志,发现这个错误: /CameraLauncher(16616):文件位置为:/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;
如何解决这个错误?
谢谢!
最佳答案
这是一个旧帖子,但我还是会回答的。
我有一个类似的问题,但对我来说,在尝试保存实际图像时,错误发生在 GetPicture 之后。如您所料,是“WhatsApp Images”中的空格导致了问题,因此我将空格替换为“%20”。 URI 编码可能是更好的选择。请参阅下面第 3 行的 .replace
$cordovaCamera.getPicture(options).then(function (imageUrl) {
if (ionic.Platform.isAndroid()) {
imageUrl = imageUrl.replace(" ", "%20");
AppFileService.storeWallImage(imageUrl);
resolve({
img: imageUrl
});
});
关于android - navigator.camera.getPicture 来自图库错误 "Unable to create bitmap",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35779128/