此页内容

001、在云图库项目中,实现 URL 上传图片功能

296字小于1分钟

2025-02-16

云图库中,不仅支持本地文件上传图片,还支持通过 URL 上传图片,具体流程如下:

  1. 前端将用户填写的图片 URL 发送给后端;
  2. 后端对该 URL 进行校验, 首先利用 HEAD 请求的特性检查链接是否存在,并获取到文件的大小、类型等信息,而不是下载好文件在进行校验,如果文件并非图片或大小过大则拒绝上传;
  3. 如果校验通过,后端使用 Hutool 的 HttpUtil.downloadFile 将图片下载到本地临时文件;
  4. 将临时文件上传到对象存储服务,并利用数据万象接口解析得到图片的的宽高、大小、格式等信息;
  5. 将解析到的信息和图片的 URL 写入到数据库中。

其中步骤 4 和 5 可以利用已经实现的本地上传图片功能,因此可以使用设计模式的模板方法重构,减少重复代码,提高代码的可扩展性和可维护性。