Как декодировать данные из API в Base64 в HTML-файл с использованием ионной 3 - PullRequest
0 голосов
/ 19 января 2019

Я пытаюсь просмотреть внутри файла page.html некоторые данные, поступающие из API, и эти данные являются только длинным текстом, кодируемым через base64, так что проблема в том, что я хочу декодировать текст в файле html, а не в файле page.ts, так Я попробовал много логики для этого, но ничего не работает со мной. пример внутри HTML-файла:

  • {{item.text || base64}}
  • {{item.text || decodeURIComponent}}
  • {{item.text || atob}}
  • atob ({{item.text}})

но ничего не работает. внутри страницы TS я пытался использовать decodeURIComponent (побег (window.atob (ielement.text))) и это работает, но я хочу со страницы HTML

это текст из API: aGVsbG8gd29ybGQh

заранее спасибо ..

1 Ответ

0 голосов
/ 20 января 2019

Вы можете создать угловую трубу для декодирования строки base64, как показано ниже:

import { Pipe, PipeTransform } from '@angular/core';
/*
 * Usage:
 *   value | decodeBase64
 * Example:
 *   {{ 'aGFyZXNo' | decodeBase64 }}
 *
*/
@Pipe({name: 'decodeBase64'})
export class DecodeBase64Pipe implements PipeTransform {
  transform(value: string): string {

    return decodeURIComponent(escape(window.atob(value)));
  }
}

и использовать эту трубу, как показано ниже в вашем HTML:

<p>Decoded text: {{'aGFyZXNo' | decodeBase64}}</p>

Вам необходимо добавить трубу вфайл app.module для регистрации.

...