使用Express从NodeJS服务器下载文件

使用Express从NodeJS服务器下载文件

如何将服务器中的文件下载到访问NodeJS服务器中的页面的机器上?

我正在使用Express JS,我一直在尝试这样做:

app.get('/download', function(req, res){

  var file = fs.readFileSync(__dirname + '/upload-folder/dramaticpenguin.MOV', 'binary');

  res.setHeader('Content-Length', file.length);
  res.write(file, 'binary');
  res.end();});

但我无法获得文件名和文件类型(或扩展名)。有人能帮我吗?


MMMHUHU
浏览 5196回答 3
3回答

杨魅力

对于pdfs、Word文档等静态文件,只需在配置中使用Express的静态函数://&nbsp;Express&nbsp;configvar&nbsp;app&nbsp;=&nbsp;express().configure(function&nbsp;()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;this.use('/public',&nbsp;express.static('public'));&nbsp;//&nbsp;<--&nbsp;This&nbsp;right&nbsp;here});然后将所有文件放在“公用”文件夹中,例如:/public/docs/my_word_doc.docx然后,一个常规的旧链接将允许用户下载它:<a&nbsp;href="public/docs/my_word_doc.docx">My&nbsp;Word&nbsp;Doc</a>
打开App,查看更多内容
随时随地看视频慕课网APP