2016-08-16 106 views
1

我傳遞一個文件路徑從玉返回到服務器端。它工作正常,除了我需要重新加載頁面,如果我想下載開始。我想文件路徑回到index.js太遲了?有沒有解決方法?下載後只能重新加載頁面(node.js)

index.js

router.get('/download', function(req, res){ 
    var file = req.query.name; 
    res.download(file); 
}); 

index.jade

a(href="/download?name=" +encodeURIComponent(parentFiles[j].children[i].path)) 

回答

0

您也可以使用頭,而不是這個默認的res.download

var path = require('path'); 
var mime = require('mime'); 

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

    var file = req.query.name; 

    var filename = path.basename(file); 
    var mimetype = mime.lookup(file); 

    res.setHeader('Content-disposition', 'attachment; filename=' + filename); 
    res.setHeader('Content-type', mimetype); 

    var filestream = fs.createReadStream(file); 
    filestream.pipe(res); 
}); 
+0

我想,第一其實..同樣的事情發生.. – bobby