12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- let koa = require("koa");
- // let app=new koa()
- // const websockify = require("koa-websocket");
- const app = new koa();
- let bodyparser = require("koa-bodyparser");
- let json = require("koa-json");
- let router = require("koa-router")(); //实例化new路由
- let cors = require("koa2-cors");
- // let verifToken = require("./token.js");
- let static = require("koa-static");
- const path = require("path");
- let multer = require("koa-multer");
- let fs = require("fs");
- // 配置静态资源
- const staticPath = "./public";
- app.use(static(path.join(__dirname, staticPath)));
- app.use(bodyparser());
- app.use(json());
- app.use(cors());
- // 设置文件存储位置
- let storage = multer.diskStorage({
- //设置文件储存位置
- destination: function (req, file, cb) {
- let date = new Date();
- let year = date.getFullYear();
- let month = date.getMonth() + 1;
- let day = date.getDate();
- let dir = "./public/uploads/" + year + month + day;
- if (!fs.existsSync(dir)) {
- fs.mkdirSync(dir, {
- recursive: true,
- });
- }
- cb(null, dir);
- },
- filename: function (req, file, cb) {
- // 设置上传文件名称
- let fileName =
- file.fieldname + "-" + Date.now() + path.extname(file.originalname);
- cb(null, fileName);
- },
- });
- // 创建multer实例并配置存储引擎
- const upload = multer({ storage: storage });
- // 上传图片接口
- router.post("/img", upload.single("file"), async (ctx) => {
- // console.log(ctx.req.file);
- if (!ctx.req.file) {
- // 如果没有上传文件
- ctx.status = 400; // 设置响应状态码为400,表示请求错误
- ctx.body = "请选择要上传的文件"; // 返回给客户端的提示信息
- return;
- }
- // 检查文件大小
- const fileSize = ctx.req.file.size;
- // console.log(fileSize);
- if (fileSize > 5 * 1024 * 1024) {
- // 如果文件大小超过限制
- ctx.status = 400; // 设置响应状态码为400,表示请求错误
- ctx.body = { // 返回给客户端的提示信息
- code:400,
- msg:"文件大小超过限制"
- }
-
- // 删除超过限制的文件
- // fs.unlinkSync(ctx.req.file.path);
- fs.unlink(ctx.req.file.path, (err) => {
- if (err) {
- console.error('文件删除失败', err);
- } else {
- console.log('文件删除成功');
- }
- });
- return;
- }
- let path = ctx.req.file.path;
- path = ctx.origin + "" + path.replace("public", "");
- path = path.replace(/\\/g, "/");
- console.log(path);
- ctx.body = path;
- });
- app.use(router.routes()).use(router.allowedMethods());
- // 启动 Koa 应用程序
- app.listen(7006, () => {
- console.log("Server is running on port 7006");
- });
|