该视频仅会员有权观看
立即开通课程「Node 框架 Express 实践」权限。
- 要定义一个头像服务接口,允许客户端获取特定用户头像,并可设定头像尺寸。
- 需要使用node.js中的path与fs模块来处理文件路径和文件系统功能。
- 在eva controller中导入
findEvaByUserID
,创建一个处理器函数serve
来获取用户ID参数并处理头像获取请求。
- 使用try-catch语句块处理异常,其中try块中实现将用户头像文件响应给客户端。
- 可以通过
response.sendFile
发送文件,需要设置文件名、存储目录(root)和响应头部的content type。
- 确定是否有用户头像数据,如果没有则抛出"file not found"的错误。
- 从请求中解构获取尺寸参数(size),准备对应的文件名和目录路径。
- 如果设置了尺寸参数,检查是否为允许的尺寸(large, medium, small)和文件是否存在,不存在则抛出错误。
- 如果文件存在,设置正确的文件名和路径,并响应给客户端。
- 在
avatar router
中定义新的图像服务接口,设置URL路径和处理器。