2017-02-17 112 views
0

在我的nodejs代碼中,我目前發現有兩種下載文件的方式,它們都可以工作,但使用不同的功能:下載或文件流。那麼區別是什麼呢?哪一個更好? :節點js下載vs文件流

app.get('/download', function(req, res, next){ 
    res.download("uploads/123.txt"); 
} 

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

    var file = __dirname + '/uploads/123.txt'; 
    var filestream = fs.createReadStream(file); 

    var mimetype = mime.lookup(file); 
    res.setheader('content-disposition', 'attachment; filename=' + '123.txt'); 
    res.setheader('content-type', mimetype); 

    filestream.pipe(res); 
}); 

回答

2

res.download是用快遞使用的輔助函數。它使用sendFile(),它基本上使用第二個示例中的代碼。所以無論你使用什麼,引擎蓋下發生的事情都是一樣的。

因此,您只需使用res.download - 爲什麼要編寫代碼雙倍...