package com.ycwl.basic.controller; import com.ycwl.basic.annotation.IgnoreToken; import com.ycwl.basic.enums.BizCodeEnum; import com.ycwl.basic.storage.StorageFactory; import com.ycwl.basic.utils.ApiResponse; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.util.UUID; /** * @Author: songmingsong * @CreateTime: 2024-12-05 * @Description: 文件接口 * @Version: 1.0 */ @RestController @RequestMapping("/api/file/v1") @Slf4j @Api(tags = "文件接口") public class FileController { @ApiOperation(value = "上传文件") @PostMapping("/upload") @IgnoreToken public ApiResponse upload(@RequestParam(value = "file") MultipartFile file) throws IOException { String[] split = file.getOriginalFilename().split("\\."); String ext = split[split.length - 1]; String url = StorageFactory.use().uploadFile(file, "web", UUID.randomUUID() + "." + ext); return ApiResponse.success(url); } @ApiOperation(value = "删除文件") @PostMapping("/delete") @IgnoreToken public ApiResponse delete(@RequestParam(value = "fileName") String fileName) throws IOException { boolean flag = StorageFactory.use().deleteFile("web", fileName); return flag ? ApiResponse.success(BizCodeEnum.REQUEST_OK) : ApiResponse.fail(BizCodeEnum.FAIL.getMessage()); } }