微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Nodejs 通过 URL 从 .svg 文件中获取 SVG XML

如何解决使用 Nodejs 通过 URL 从 .svg 文件中获取 SVG XML

我正在尝试从外部托管的 SVG 中获取 XML 数据字符串。我应该注意到我使用的是 Nodejs。我的目标是将 .svg 文件内容嵌入到如下所示的字符串中:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="100%" height="100%">
    <g transform="translate(${x},${y}) scale(${scale})">
        //INLINE SVG
    </g>
</svg>`

采用这种方法的原因是 svg 是内联的,而不是通过 URL 引用。我想动态嵌入 svg 文件内容。该文件根据 API 请求更改,因此我不能只打开 svg 文件并复制和粘贴内容。它需要以编程方式解析,以便通过 URL 提供的任何 .svg 文件都变成内联 svg。

实现目标的最佳方法是什么?

解决方法

我建议使用 http 客户端,例如 axios 来获取 xml。

使用 axios.get 非常简单:

const axios = require("axios");
const url = "https://upload.wikimedia.org/wikipedia/commons/1/1a/SVG_example_markup_grid.svg";

async function downloadSvg(url) {
    let response = await axios.get(url);
    const svgXml = response.data;
    console.log("Svg xml:",svgXml);
}

downloadSvg(url);

下载后,SVG xml 将分配给 svgXml 变量。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。