javascript 如何在React.js中将SVG转换为PNG或JPG/JPEG文件

ego6inou  于 2022-11-27  发布在  Java
关注(0)|答案(1)|浏览(280)

我如何在React.js中将SVG文件转换为png,jpg或jpeg文件因为我正在尝试将我的文件发送到服务器,而服务器只接受jpg/jpeg或png。有帮助吗?我只需要这些类型中的一种。我不需要URL或blob中的文件。
The screenshot of file in console
我找遍了所有的地方。有一些,但要么解决方案是后端或javascript与dom

const [fileImages, setFileImages] = useState<File[]>([]);
  const { state } = useAssetReportContext();

  const charts = state.chartsList.map(({ url, fileName }) => ({
    url,
    fileName,
  }));
  useEffect(() => {
    const fetchImages = () => {
      charts.map(({ url, fileName }) => {
        fetch(url)
          .then((response) => response.blob())
          .then(
            (blob) =>
              new File([blob], `${fileName}`, {
                type: blob.type,
              })
          )
          .then((file) => {
            setFileImages((prev) => [...prev, file]);
          });
      });
    };
    fetchImages();
  }, [state.chartsList.length]);
yjghlzjz

yjghlzjz1#

您可以使用'convert-svg-to-png'程式库。This is the npm link
然后导入:

const { convertFile }  = require('convert-svg-to-png');

然后使用下列程式码:

(async() => {
  const inputFilePath = '/path/to/my-image.svg';
  const outputFilePath = await convertFile(inputFilePath);

  console.log(outputFilePath);
  //=> "/path/to/my-image.png"
})();

希望对你有用:)

相关问题