使用http://ngcordova.com/时,我在尝试将照片保存到安卓上的图库时遇到了问题。
最初,当使用以下选项时,文件不会在拍摄图片后传回图像数据;
var options = {
destinationType: Camera.DestinationType.FILE_URI,
sourceType: Camera.PictureSourceType.CAMERA,
encodingType: Camera.EncodingType.JPEG,
correctOrientation: true,
saveToPhotoAlbum: true
};我发现为了解决这个问题,我不得不将相机插件从0.3.6降级到0.3.5,这要归功于forum。
保存的例程如下;
$cordovaCamera.getPicture(options).then(function (imagePath) {
var currentName = imagePath.replace(/^.*[\\\/]/, '');
var d = new Date(),
n = d.getTime(),
newFileName = n + ".jpg";
//Move the file to permanent storage
$cordovaFile.moveFile(cordova.file.externalRootDirectory, currentName, cordova.file.externalRootDirectory + "DCIM/Camera", newFileName).then(function(success){
//sucess
}, function(error){
//an error occured
//Booooooo
});我不想对路径进行硬编码,而只是测试一下是否可以将照片放在正确的目录中。我已经尝试了这个post中的目录。
我在我的Nexus5上发现,虽然cordova.file.tempDirectory总是空的。
这是一个错误的相机插件,以保存到画廊,或它还没有正确实现的Android。
为任何帮助干杯。
发布于 2016-06-21 14:52:48
我认为您需要对cache目录进行硬编码。
您可以通过imagePath了解缓存目录
只需删除文件名,你就会得到cache目录,相机插件在你想要的移动到external目录之前会在这里保存你的照片
*我对它进行了测试,在我的例子中,cache目录是file:///storage/emulated/0/Android/data/my-app-id/cache
https://stackoverflow.com/questions/34149939
复制相似问题