Nodejs – 写入和保存文件

我正在调查如何将文件下载到用户的本地机器,但我不太清楚为了做到这一点,我需要什么。 我在前端使用Nodejs和Express与Angularjs。

用户可以将文本写入文本区域,这是将文本写入文件。

要做到这一点,我有:

... fs = require('fs'); fs.writeFile('filename.txt', textarea.text, function (err) { if (err) return console.log(err); res.send(200); }); ... 

一旦文件被创build,我怎么得到它在用户的机器上下载?

如果您不需要将文件存储在服务器上,则可以直接将其发回给用户:

 res.attachment('filename.txt'); res.set('Content-Type', 'text/plain'); res.send(textarea.text); 

这不仅更简单,而且还提高性能(无磁盘I / O)和更安全(服务器上没有不受信任的文件)。

使用res.download

 res.download('filename.txt'); 

http://expressjs.com/4x/api.html#res.download