我正在尝试开发一个反应应用程序,以帮助我将文件下载到我的亚马逊云。 为此,我使用了此模块
带有进度条的下载文件
这是我的代码:
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项目上运行正常。但是,当我在一个React项目(使用'create-react-app'创建的)中使用它时,产生了以下错误。
TypeError:fs.createWriteStream不是函数
我对该项目的想法是创建一个React应用程序,以帮助将文件下载到我的服务器或云空间。如何解决该错误。
答案 0 :(得分:0)
createWriteStream
是Nodejs API的功能部分,因此当您将其作为nodejs项目运行时,它可以正常工作。
但是当您运行React应用时,是您的浏览器执行代码,而不是nodejs。而且浏览器不知道该API。
如果要从React应用程序下载文件,则必须通过HTTP请求来执行。例如,您可以使用fetch API。