存储从外部相机拍摄的图像并将其存储在DB-Ionic 3中

时间:2018-11-15 11:43:05

标签: javascript typescript ionic-framework ionic3 base64

我正在使用ionic 3创建一个应用程序。该应用程序应该执行以下操作:从外部相机拍摄图像(它将返回为文件URL),使用sqllite作为base64将其存储在本地数据库中。

这是我的尝试

takeImage(){
const fileTransfer: FileTransferObject = this.transfer.create();

this.takePicture().subscribe(data => {
    this.wait(7000);
            this.listFiles().subscribe(data => {     
      const url = data['results'].entries[0].fileUrl;
      fileTransfer.download(url, this.file.dataDirectory + data['results'].entries[0].name).then((entry) => {
        this.room.img = entry.toURL();
        this.base64.encodeFile( entry.toURL()).then((base64File: string) => {
        this.room.img = base64File;},
        (err) => {
                  console.log(err);
                });
}, (error) => {});
},
   err => {console.log(err);});
   },
   err => {console.log(err);});
}

我试图显示base64File,但是它不起作用。

1 个答案:

答案 0 :(得分:1)

要显示base64图像,您需要在组件中导入DomSanitizer并在下面的构造函数中创建实例变量是代码

constructor(public _DomSanitizer: DomSanitizer)

<img class="one-image" *ngFor="let image of item; let i= index"    style="height:120px;" [src]="_DomSanitizer.bypassSecurityTrustUrl(image.imgUrl)" #images (click)="imageOption(i,images,image.data,image.ext)"/>