如何在 HttpResponse 上设置下载文件的名称



我有一个简单的文件服务器,用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)
}

相关内容

  • 没有找到相关文章

最新更新