12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- let koa = require("koa");
- const app = new koa();
- let bodyparser = require("koa-bodyparser");
- let json = require("koa-json");
- let router = require("koa-router")();
- let cors = require("koa2-cors");
- 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);
- },
- });
- const upload = multer({ storage: storage });
- router.post("/img", upload.single("file"), async (ctx) => {
-
- if (!ctx.req.file) {
-
- ctx.status = 400;
- ctx.body = "请选择要上传的文件";
- return;
- }
-
- const fileSize = ctx.req.file.size;
-
- if (fileSize > 5 * 1024 * 1024) {
-
- ctx.status = 400;
- ctx.body = {
- code:400,
- msg:"文件大小超过限制"
- }
-
-
-
- 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());
- app.listen(7006, () => {
- console.log("Server is running on port 7006");
- });
|