|
|
|
|
var express = require('express');
|
|
|
|
|
var router = express.Router();
|
|
|
|
|
const path = require("path");
|
|
|
|
|
const userfileService = require("../services/userfile.service");
|
|
|
|
|
/* GET users listing. */
|
|
|
|
|
router.get('/admin', async function (req, res, next) {
|
|
|
|
|
if (!req.session.admin) {
|
|
|
|
|
req.session.message = "您没有管理员权限!"
|
|
|
|
|
res.redirect('/')
|
|
|
|
|
} else {
|
|
|
|
|
// 这里我们要拿到所有用户以及他们的文件,然后交给 ejs去渲染,渲染的时候
|
|
|
|
|
// 为每个文件 (a标签) 添加一个链接,这个链接我们会在后端去处理,就在下面
|
|
|
|
|
const title = 'Dynamic EJS Page';
|
|
|
|
|
const message = myVariable1;
|
|
|
|
|
|
|
|
|
|
res.render('admin', { title: title, message: message });
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 处理下载文件请求
|
|
|
|
|
// 获取前端传来的username 和 filename,根据这两个参数拼接文件路径
|
|
|
|
|
router.get('/admin/download', (req, res) => {
|
|
|
|
|
var username = req.query.username;
|
|
|
|
|
var filename = req.query.filename;
|
|
|
|
|
if (!req.session.admin) {
|
|
|
|
|
return res.send("没有权限!");
|
|
|
|
|
}
|
|
|
|
|
console.log(username, filename)
|
|
|
|
|
if (!username || !filename) {
|
|
|
|
|
return res.send("没有该文件!");
|
|
|
|
|
}
|
|
|
|
|
// 查找文件
|
|
|
|
|
// res.sendFile 必须使用绝对路径,它的作用是响应出去一个任意类型文件给前端
|
|
|
|
|
res.sendFile(path.resolve(__dirname, '../users/'+username+"/"+filename));
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
module.exports = router;
|