我正在创建一个项目,在其中拍摄照片并将其存储在设备(内部/外部存储器)中并在列表中显示。我有一些问题,因为即使我不这样做,所拍摄的照片也会自动保存在DCIM/Camera
文件夹(内部存储器或存储卡)中。
这是摄像机配置:
this.cameraOptions = {
quality: 75,
destinationType: this.camera.DestinationType.FILE_URI,
encodingType: this.camera.EncodingType.JPEG,
sourceType: this.camera.PictureSourceType.CAMERA,
mediaType: this.camera.MediaType.PICTURE,
saveToPhotoAlbum: false
}
public takePicture(){
return new Promise((resolve, reject) => {
let file_name='IMG_'+(Math.floor(Date.now() / 1000))+'.jpg';
let file_location=this.platform.is('android') ? (this.helper.general_settings['store_external'] && this.helper.general_settings['externalDirectory'] ? this.helper.general_settings['externalDirectory'] : this.file.dataDirectory) : this.file.dataDirectory;
this.helper.showLoading();
this.camera.getPicture(this.cameraOptions).then((imageData) => {
let sourceDir=imageData.substring(0,imageData.lastIndexOf('/') +1);
let sourceFileName=imageData.substring(imageData.lastIndexOf('/') +1,imageData.length);
this.file.moveFile(sourceDir,sourceFileName,file_location,file_name)
.then((fileDone:any) => {
resolve({'file_name':file_name, 'file_location':file_location });
}).catch(error => {
reject(error);
//console.log(error);
});
}, (err) => {
reject(err);
console.log(err);
});
});
}
这个想法是同一张照片也会自动保存在DCIM/Camera
中-两次-(系统上应用程序的外部,保存图片的基本位置在存储卡上)-我知道该功能{{1 }}将照片保存到临时文件夹中,然后将其移动到需要的位置(这种情况发生在当我在看到快照后接受照片并将我重定向回我的应用程序时,因此接受功能将其触发到保存在2个地方)。
我没有看到保存到getPicture
的照片库,但是当我通过文件管理器浏览名片夹时看到了照片,因此DCIM/Camera
在这里没有帮助。有人遇到过这个问题-是的,如何解决?
系统:Motorola x play,android 7.1.1,cordova-plugin-camera 4.0.3