BASE64插件不适用于离子3

时间:2017-12-26 07:09:44

标签: typescript ionic-framework ionic2 base64 ionic3

我需要将图像转换为base 64格式,我从相机或图库中捕获,然后将该字符串发送到我的REST Api。我尝试了很多东西,但我遇到的最稳定的解决方案是使用{{1} } - https://ionicframework.com/docs/native/base64/ 但它既没有给我任何错误,也没有生成字符串。 以下是我的代码:

Base 64 package

1 个答案:

答案 0 :(得分:0)

您不需要插件进行编码,相机插件会返回带有正确选项的BASE64字符串,这是我工作代码的一部分。

let opcoes = {
  maximumImagesCount: 1,
  sourceType: 1,
  encodingType: this.camera.EncodingType.JPEG,
  destinationType: 0, // USE THIS TO RETURN BASE64 STRING
  correctOrientation: true
};

this.camera.getPicture(opcoes).then(res => {
  this.picture= res;
  console.log('check the string', res);
  // IT RETURNS ONLY THE IMAGE STRING WITHOUT THE data:image, IF YOU WANT TO
  // SHOW YOUR PICTURE JUST APPEND THE STRING BELLOW TO YOUR RETURNED STRING AND USE IT TO DISPLAY
  this.pictureForExibition = 'data:image/jpeg;base64,' + res;
}, err => {
  console.log(err);
});

在您的HTML中

<!-- JUST USE AN *ngIf TO CHECK IF THE PROPERTY ISN'T NULL OR IT'LL THROW ERROR FOR THE INVALID SRC -->
<img [src]="pictureForExibition" *ngIf="pictureForExibition" alt="base64 image" />

希望这有帮助