Angular:从路径加载 SVG 并将其字符串化

And*_*rew 2 string svg angular

我需要从资产文件夹加载一个 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();
Run Code Online (Sandbox Code Playgroud)

And*_*rew 7

我想到了。

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();
Run Code Online (Sandbox Code Playgroud)

重要的是,您将标题定义为 accept "image/svg+xml" 和 responseType "text