string - Angular:从路径加载 SVG 并将其字符串化
问题描述
我需要从 assets 文件夹中加载一个 svg 文件并对内容进行字符串化。在网上找不到任何解决方案,但这是我的方法。
let svg = await this.httpClient.get(`assets/images/result/${this.icon}.svg`)
.pipe(
map(res => {
const serializer = new XMLSerializer();
const svgString = serializer.serializeToString(<any>res);
})
).toPromise();
解决方案
我想到了。
const headers = new HttpHeaders();
headers.set('Accept', 'image/svg+xml');
const svgString =
await this.httpClient.get(`assets/images/result/${this.icon}.svg`, {headers, responseType: 'text'}).toPromise();
重要的是你用接受“image/svg+xml”和responseType“text”定义标题