2016-07-12 32 views
0

我有一個簡單的文件服務器與nodejs編寫的響應請求,如GET請求到服務器url這樣的www.site.com/cdn/filename/latest這應該讓用戶發出一個wget請求並獲取名爲「文件名」的文件的「最新」版本。問題是生成的文件被命名爲「最新」而不是「文件名」。如何在HttpResponse上設置下載文件的名稱?

有沒有方法可以設置通過標題在響應中發回的文件的名稱?

下面的方法寫入響應。

function sendFile(res, filepath) { 
    res.writeHead(200, { 
     'Content-Type': mime.lookup(filepath) 
    }) 
    fs.createReadStream(filepath).pipe(res) 
} 

回答

0

內容處置是使用的標題。 w3.org

const path = require('path') 
function sendFile(res, filepath) { 
    var filename = path.basename(filepath) 
    res.writeHead(200, { 
     'Content-Type': mime.lookup(filepath), 
     'Content-Disposition': 'inline; filename="'+filename+'"' 
    }) 
    fs.createReadStream(filepath).pipe(res) 
} 
相關問題