diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/FileController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/FileController.java index 63c33c4..c4569ad 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/FileController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/FileController.java @@ -27,6 +27,7 @@ import java.util.Objects; /** * 文件上传 controller + * 该类主要负责处理文件上传相关的请求,提供了不同场景下文件上传的接口方法 * @author lgh * */ @@ -34,32 +35,52 @@ import java.util.Objects; @RequestMapping("/admin/file") public class FileController { - @Autowired - private AttachFileService attachFileService; - @Autowired - private Qiniu qiniu; - @Autowired - private ImgUploadUtil imgUploadUtil; + // 自动注入附件文件服务层对象,用于处理文件上传等相关业务逻辑 + @Autowired + private AttachFileService attachFileService; + // 自动注入七牛相关配置对象,用于在文件上传到七牛云存储时获取相关配置信息 + @Autowired + private Qiniu qiniu; + // 自动注入图片上传工具类对象,用于获取上传类型、路径等相关信息,辅助文件上传操作 + @Autowired + private ImgUploadUtil imgUploadUtil; - @PostMapping("/upload/element") - public ServerResponseEntity uploadElementFile(@RequestParam("file") MultipartFile file) throws IOException{ - if(file.isEmpty()){ + /** + * 处理element组件的文件上传请求的方法 + * @param file 前端传来的MultipartFile类型的文件对象,代表要上传的文件 + * @return 返回一个ServerResponseEntity类型的响应,成功时包含上传后的文件名,若文件为空则返回成功状态的空响应 + * @throws IOException 可能会抛出IO异常,例如文件读取、写入等操作出现问题时 + */ + @PostMapping("/upload/element") + public ServerResponseEntity uploadElementFile(@RequestParam("file") MultipartFile file) throws IOException { + // 判断上传的文件是否为空,如果为空则直接返回成功状态的空响应 + if (file.isEmpty()) { return ServerResponseEntity.success(); } - String fileName = attachFileService.uploadFile(file); + // 调用附件文件服务层的方法上传文件,并获取上传后的文件名 + String fileName = attachFileService.uploadFile(file); return ServerResponseEntity.success(fileName); - } + } - @PostMapping("/upload/tinymceEditor") - public ServerResponseEntity uploadTinymceEditorImages(@RequestParam("editorFile") MultipartFile editorFile) throws IOException{ - String fileName = attachFileService.uploadFile(editorFile); - String data = ""; - if (Objects.equals(imgUploadUtil.getUploadType(), UploadType.LOCAL.value())) { - data = imgUploadUtil.getUploadPath() + fileName; - } else if (Objects.equals(imgUploadUtil.getUploadType(), UploadType.QINIU.value())) { - data = qiniu.getResourcesUrl() + fileName; - } + /** + * 处理tinymce编辑器图片上传请求的方法 + * @param editorFile 前端传来的MultipartFile类型的文件对象,代表编辑器中要上传的图片文件 + * @return 返回一个ServerResponseEntity类型的响应,成功时包含根据上传类型拼接好的图片访问路径,若上传类型等处理出现问题则返回不符合预期的结果 + * @throws IOException 可能会抛出IO异常,例如文件读取、写入等操作出现问题时 + */ + @PostMapping("/upload/tinymceEditor") + public ServerResponseEntity uploadTinymceEditorImages(@RequestParam("editorFile") MultipartFile editorFile) throws IOException { + // 调用附件文件服务层的方法上传文件,并获取上传后的文件名 + String fileName = attachFileService.uploadFile(editorFile); + String data = ""; + // 根据图片上传工具类获取的上传类型进行不同的路径拼接处理 + if (Objects.equals(imgUploadUtil.getUploadType(), UploadType.LOCAL.value())) { + // 如果是本地存储类型,将本地存储路径和文件名拼接起来作为图片的访问路径 + data = imgUploadUtil.getUploadPath() + fileName; + } else if (Objects.equals(imgUploadUtil.getUploadType(), UploadType.QINIU.value())) { + // 如果是七牛云存储类型,将七牛云资源的基础访问URL和文件名拼接起来作为图片的访问路径 + data = qiniu.getResourcesUrl() + fileName; + } return ServerResponseEntity.success(data); - } - -} + } +} \ No newline at end of file