Как декодировать данные из API в Base64 в HTML-файл с использованием ионной 3
Я пытаюсь просмотреть внутри файла page.html некоторые данные, поступающие из API, и эти данные представляют собой только длинный текст, кодируемый с помощью base64, и проблема в том, что я хочу декодировать текст в файле html, а не в файле page.ts, поэтому я пробовал много логика для этого, но ничего не работает со мной. пример внутри HTML-файла:
- {{Item.text || base64}}
- {{Item.text || decodeURIComponent}}
- {{Item.text || atob}}
- atob ({{item.text}})
но ничего не работает. внутри страницы TS я попытался использовать decodeURIComponent(escape(window.atob(ielement.text))), и он работает, но я хочу с HTML-страницы
это текст из API: aGVsbG8gd29ybGQh
заранее спасибо..
1 ответ
Вы можете создать Angular Pipe для декодирования строки 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>
Вам нужно добавить Pipe в ваш файл app.module, чтобы зарегистрироваться.