该视频仅会员有权观看
立即开通课程「Node 框架 Express 实践」权限。
- 打开文件控制器(file controller),并在其顶部导入 Node.js 的
path
和 fs
模块。
- 修改
serve
函数,此函数作为文件服务接口的处理器,用于根据客户端需求提供不同尺寸的图像文件。
- 从请求查询参数中提取
size
,用于确定客户端需要的图像尺寸。
- 设定变量,包括文件名(
file name
)、存储上传文件的目录(root
),以及存储调整尺寸后文件的目录(resized
)。
- 检查
size
参数是否包含在预定义的可用尺寸数组 image sizes
中,如果不在,抛出 "file not found" 异常,状态码设置为 404。
- 使用
fs.existsSync
方法同步检查请求的文件是否存在,使用 path.join
方法来构建文件路径,包括尺寸信息。
- 如果文件存在,更新
file name
和 root
目录以反映正确的文件路径。
- 测试文件服务,通过在请求地址中添加
size
查询参数的值来获取不同尺寸的图像文件,包括小尺寸(缩略图)、中等尺寸、大尺寸或原始尺寸。