2

我正在尝试开发一个反应应用程序来帮助我将文件下载到我的亚马逊云。为此我使用了这个模块

下载文件与进度条

这是我的代码:

      var dl            = require('download-file-with-progressbar');
                //-----------Download File-------------------
                option = {
                    filename: 'fileName',
                    dir: os.tmpdir(),
                    onDone: (info)=>{
                    console.log('done', info);
                    },
                    onError: (err) => {
                    console.log('error', err);
                    },
                    onProgress: (curr, total) => {
                    console.log('progress', (curr / total * 100).toFixed(2) + '%');
                    },
                }

                dd = dl('https://nodejs.org/dist/v6.10.2/node-v6.10.2-linux-x64.tar.gz', this.option);
                //-------------------------------------------

它在 nodejs 项目上运行良好。但是当我在反应项目中使用它(使用'create-react-app'创建)时,它产生了以下错误。

TypeError:fs.​​createWriteStream 不是函数

我对该项目的想法是创建一个反应应用程序,帮助将文件下载到我的服务器或云空间。如何解决该错误。

4

1 回答 1

7

createWriteStream是 Nodejs API 的一个功能部分,这就是为什么当您将它作为 nodejs 项目运行时它可以正常工作的原因。

但是当你运行一个 React 应用程序时,执行代码的是你的浏览器,而不是 nodejs。浏览器不知道这个 API。

如果你想从 React 应用程序下载文件,你必须通过 HTTP 请求来完成。例如,您可以使用fetch API

于 2019-03-08T13:10:06.140 回答