首页 > 解决方案 > 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();

标签: stringangularsvg

解决方案


我想到了。

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”定义标题


推荐阅读