上传图片(文件)接口设计思路
需求:图片(文件)上传 /upload/avatar
目的:服务器可以保存一张图片
解决:提供一个接口,可以让用户获取图片—>将URL存储到用户信息中—> 获取信息时,获取用户头像
上传头像接口
① 图片上传路由配置
const Router = require ('koa-router') const { verifyAuth } = require('../middleware/auth_middleware') const { avatarHandler } = require('../middleware/file_middleware') const { savaAvatarInfo } = require('../controller/file_controller') const fileRouter = new Router ({prefix: '/upload'}) fileRouter.post('/avatar',verifyAuth,avatarHandler,savaAvatarInfo) module.exports = fileRouter
② 中间件 avatarHandler
③ service 层数据库处理
获取图像接口
① 路由配置
② 获取图像处理函数
③ 用户请求时,获取图像
动态配图接口
① 路由配置
② 中间件添加函数
③ 获取动态时,获取配图信息
处理图片大小
Ps:完整的路由配置
const Router = require ('koa-router') const { verifyAuth } = require('../middleware/auth_middleware') const { avatarHandler, pictureHandler, pictureResize } = require('../middleware/file_middleware') const { savaAvatarInfo, savePictureInfo } = require('../controller/file_controller') const fileRouter = new Router ({prefix: '/upload'}) fileRouter.post('/avatar',verifyAuth,avatarHandler,savaAvatarInfo) fileRouter.post('/picture', verifyAuth, pictureHandler,pictureResize, savePictureInfo); module.exports = fileRouter