我有一个用nodejs编写的简单文件服务器响应请求,比如对服务器URL的GET请求,如www.site.com/cdn/filename/latest
这应该让用户发出一个wget请求并获得"最新的&# 34;名为" filename"的文件版本。问题是生成的文件名为"最新的"而不是" filename"。
有没有办法通过标题设置在响应中发回的文件的名称?
以下方法会写出回复。
function sendFile(res, filepath) {
res.writeHead(200, {
'Content-Type': mime.lookup(filepath)
})
fs.createReadStream(filepath).pipe(res)
}
答案 0 :(得分: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)
}