我有一个简单的文件服务器,用nodejs编写,它可以响应像GET请求这样的请求到服务器url,就像这样www.site.com/cdn/filename/latest
这应该让用户发出wget请求并获取名为"filename"的文件的"最新"版本。问题是生成的文件被命名为"latest"而不是"文件名"。
有没有办法通过标头设置在响应中发回的文件的名称?
下面的方法写入响应。
function sendFile(res, filepath) {
res.writeHead(200, {
'Content-Type': mime.lookup(filepath)
})
fs.createReadStream(filepath).pipe(res)
}
内容处置是要使用的标头。 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)
}