|
@@ -1,59 +0,0 @@
|
|
-const multer = require('koa-multer');
|
|
|
|
-const fs = require('fs');
|
|
|
|
-const path = require('path');
|
|
|
|
-
|
|
|
|
-// 设置文件存储位置和上传大小限制
|
|
|
|
-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,
|
|
|
|
- limits: {
|
|
|
|
- fileSize: 5 * 1024 * 1024, // 5MB的文件大小限制
|
|
|
|
- },
|
|
|
|
-});
|
|
|
|
-
|
|
|
|
-// 上传图片接口
|
|
|
|
-router.post("/img", upload.single("file"), async (ctx) => {
|
|
|
|
- let path = ctx.req.file.path;
|
|
|
|
- path = ctx.origin + "" + path.replace("public", "");
|
|
|
|
- path = path.replace(/\\/g, "/");
|
|
|
|
- console.log(path);
|
|
|
|
-
|
|
|
|
- ctx.body = path;
|
|
|
|
-});
|
|
|
|
-
|
|
|
|
-// 错误处理程序
|
|
|
|
-app.use((ctx, next) => {
|
|
|
|
- return next().catch((err) => {
|
|
|
|
- if (err.name === "MulterError") {
|
|
|
|
- ctx.status = 400; // 设置响应状态码为400,表示请求错误
|
|
|
|
- ctx.body = "文件大小超过限制"; // 返回给客户端的提示信息
|
|
|
|
- } else {
|
|
|
|
- throw err;
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
-});
|
|
|
|
-
|
|
|
|
-app.listen(3000, () => {
|
|
|
|
- console.log('Server is running on port 3000');
|
|
|
|
-});
|
|
|