浏览器访问一个静态资源时,有时会打开预览界面,有时候会弹出文件保存窗口执行下载。那么这个默认行为是否可控呢,答案是当然。
Content-Disposition
Content-Disposition是一个http 响应头字段。
可以设置的值有:
inline:预览资源
attachment: 下载资源,attachment后可接文件名称,打开的下载窗口将默认展示该文件名。
服务端实例
const http = require('http');
const fs = require('fs');
const path = require('path');
const app = http.createServer();
app.on('request', function (req, res) {
console.log(process.cwd());
fs.readFile(path.resolve(path.dirname(process.argv[1]),'./index.html'), function (err, data) {
res.setHeader('Content-Disposition', 'attachment; filename="index.html"')
res.writeHead(200);
res.end(data.toString().toString())
})
})
console.log('app is open on port 9000……');
app.listen('9000')