要实现“不下载即可打开文件”的功能,可以使用以下两种方法:
const express = require('express');
const app = express();
app.get('/file', (req, res) => {
// 设置正确的Content-Type头
res.setHeader('Content-Type', 'application/pdf');
// 发送文件内容
res.sendFile('/path/to/file.pdf');
});
app.listen(3000, () => {
console.log('Server started on port 3000');
});
在上面的示例中,当用户访问/file
路径时,服务器会发送一个PDF文件作为响应。浏览器会根据Content-Type头来决定是否预览文件,而不是下载它。
在上面的示例中,将https://example.com/file.pdf
替换为要预览的文件的URL。当浏览器加载该页面时,它会自动嵌入Google Docs Viewer并显示文件内容。
请注意,这两种方法都依赖于浏览器的功能和第三方服务的可用性。有些文件类型可能无法被预览,或者某些服务可能不可用。因此,最好在提供文件的同时提供一个下载选项,以便用户可以自由选择如何处理文件。