res.sendFile强制文件被下载
我试图发送一个图像在浏览器中全屏显示,但问题是,下面的代码强制文件作为附件发送(下载),类似于res.download()
而不是显示图像:
res.sendFile(file, {root: path.join(__dirname, '../storage')})
有没有办法显示图像,而不强迫它被下载或没有阅读原始文件?
我发现问题是该文件没有任何文件扩展名。 由于res.sendFile()
尝试自动设置内容types标题,因此导致文件下载而不是显示的问题。
如果文件没有文件扩展名,你可以像这样手动设置res.sendFiel()
的Content-Type
头:
res.sendFile(file, {headers: {'Content-Type': 'image/jpeg'}})
这将导致图像正确显示。