【问题标题】:React Load Binary File / URL scheme "file" is not supportedReact Load Binary File / URL scheme \"file\" 不受支持
【发布时间】:2023-01-29 20:13:16
【问题描述】:

背景

我构建了一个应用程序,它将文件从类型 A 转换为类型 B(二进制文件)。我想导入并使用类型 B 的虚拟文件来填充文件类型 A 的数据。虚拟文件始终保持不变。该应用程序没有后端。我想分享 html,所以任何需要关闭浏览器安全性等的东西都不是一个选项。

问题

目前,我加载了我在此处找到的文件,但这仅适用于后端服务器: Requesting blob images and transforming to base64 with fetch API

import dummy  from '../templates/Grid2.shp';

    let hex = await fetch(dummy)
        .then( response => response.blob() )
        .then( blob => new Promise( callback =>{
            let reader = new FileReader() ;
            reader.onload = function(){
                const serumShp = atob(this.result.substring(37)); // 37 strips the base64 info data:...
                callback(binaryToHex(serumShp))
            } ;
            reader.readAsDataURL(blob) ;
        }) ) ;

它适用于我的开发,但不适用于构建阶段。作为浏览器从文件系统请求。

我在文件加载器上找到了一个解决方案,但这个解决方案也会抛出一个错误: Using file-loader to load binary file in react

导入/无 webpack 加载器语法

另外,我没有看到 Webpack 的任何配置文件。据我所知,我需要eject他们,这也是不推荐的。

问题:

如何在没有后端服务器/任何更改等的情况下将二进制文件导入我的应用程序?

【问题讨论】:

    标签: reactjs file binary


    【解决方案1】:

    抱歉,我帮不上忙,但要指出 CRA 中有一个 general discussion 以支持更优雅的导入二进制/原始数据的方式。可悲的是似乎没有太大进展,该提案是从 2018 年开始的。

    【讨论】:

      猜你喜欢
      • 2013-01-17
      • 2020-06-27
      • 1970-01-01
      • 2017-06-05
      • 1970-01-01
      • 2017-01-13
      • 1970-01-01
      • 2016-07-11
      • 1970-01-01
      相关资源
      最近更新 更多