关于#React#的问题,如何解决?(标签-ui)

想问一下大shen们react调用本地的nii.gz文件该怎么操作
使用require(‘路径')的话解析出来的文件url是static/media/文件名.nii.乱码.gz,无法使用
而图片url解析后是/static/media/文件名.乱码.png 是可以显示的

仅供参考

使用require导入NII文件时,可能会遇到编码问题,因为NII文件是二进制格式而不是文本格式。
在导入NII文件时,可以使用fs模块读取文件的二进制数据,然后使用类似pako这样的库来解压缩Gzip压缩的二进制数据。

例如,在React中,可以按照以下方式加载NII文件:

  • 首先,安装pako库:
npm install pako
  • 在React组件中使用以下代码:
import React, { useState, useEffect } from 'react';
import pako from 'pako';
import fs from 'fs';

function NiiFileViewer() {
  const [niiData, setNiiData] = useState(null);

  useEffect(() => {
    const niiData = fs.readFileSync('./path/to/file.nii.gz');
    const inflatedData = pako.inflate(niiData);
    setNiiData(inflatedData);
  }, []);

  return (
    <div>
      {niiData && (
        <img src={`data:image/png;base64,${btoa(niiData)}`} alt="NII file" />
      )}
    </div>
  );
}

export default NiiFileViewer;

使用fs模块读取文件的二进制数据,然后使用pako.inflate()函数解压缩Gzip压缩的二进制数据。
最后,将解压后的数据转换为Base64编码的PNG图像,并将其作为图像的数据URI嵌入到元素中