package com.ruoyi.web.controller; import cn.hutool.core.util.ObjectUtil; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.file.FileUtils; import com.ruoyi.file.FileService; import lombok.RequiredArgsConstructor; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @RequiredArgsConstructor @RestController @RequestMapping("/") public class UploadController { private final FileService fileService; @GetMapping("/uploadKey") public R uploadKey() { return R.ok().setData(FileUtils.getUploadKey()); } @Log(title = "OSS对象存储", businessType = BusinessType.INSERT) @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public R upload(@RequestPart("file") MultipartFile file, String pre) { if (ObjectUtil.isNull(file)) { throw new ServiceException("文件为空"); } return R.map().put("ossId", 0).put("url", fileService.setPrefix(pre).setKeepFilename().save(file)); } @Log(title = "OSS对象存储", businessType = BusinessType.INSERT) @PostMapping(value = "/uploadImg", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public R uploadImg(@RequestPart("file") MultipartFile file, String pre) { if (ObjectUtil.isNull(file)) { throw new ServiceException("文件为空"); } if (!file.getContentType().startsWith("image/")) { throw new ServiceException("不是图片"); } return R.map().put("ossId", 0).put("url", fileService.setPrefix(pre).setSize().setWatermark().setThumbnail().saveImage(file)); } }