加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
staticController.js 970 Bytes
一键复制 编辑 原始数据 按行查看 历史
老胡来也 提交于 2023-03-09 11:24 . 静态资源使用的处理
const fs = require('fs/promises');
const mime = require('mime');
function staticsController() {
return async (ctx, next) => {
// console.log(ctx.request.path);
let tmpPath = ctx.request.path;
console.log(tmpPath);
// 判断路径中是否包含特定的字符(如static),如果是,就当静态资源处理,否则就放行继续下一个中间件
if (tmpPath.startsWith('/statics')) {
let fullPath=__dirname + tmpPath;
let stat = await fs.stat(fullPath);
console.log(stat.isFile());
if (stat.isFile()) {
ctx.type = mime.getType(fullPath);
ctx.body = await fs.readFile(fullPath);
} else {
ctx.body.status = 404;
}
} else {
await next();
}
// let url='./abc.html';
// let url='./statics/imgs/imgs01.jpg';
}
}
module.exports = staticsController
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化