| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package com.yingyangfly.app.controller;
- import com.yingyangfly.common.dto.ResultResponse;
- import com.yingyangfly.core.annotation.Log;
- import com.yingyangfly.core.enums.OperatorType;
- import com.yingyangfly.file.api.FileClient;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- 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.util.Arrays;
- import java.util.List;
- /**
- *
- * @author jiangqian
- * @date 2023/5/14 0014 14:30
- */
- @RestController
- @RequestMapping("/common")
- @Api(tags = "通用接口")
- @Slf4j
- public class UploadFileController {
- @Autowired
- private FileClient fileClient;
- // 允许上传的文件类型
- private static final List<String> ALLOWED_FILE_TYPES = Arrays.asList("png", "jpg", "jpeg", "doc", "xls", "ppt", "mp4", "pdf");
- /**
- * 通用上传
- * file 是文件
- * dirName 是文件夹
- */
- @Log(title = "文件上传",operatorType = OperatorType.MOBILE)
- @PostMapping("/upload")
- @ApiOperation("文件上传")
- public ResultResponse upload(@RequestParam("file") MultipartFile file, @RequestParam("dirName") String dirName) {
- if (file.isEmpty()) {
- return ResultResponse.fail("文件不能为空");
- }
- String fileName = file.getOriginalFilename();
- if (fileName == null) {
- return ResultResponse.fail("文件名不能为空");
- }
- // 获取文件后缀
- String fileExtension = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
- // 检查文件类型是否允许
- if (!ALLOWED_FILE_TYPES.contains(fileExtension)) {
- return ResultResponse.fail("不允许的文件类型: " + fileExtension);
- }
- String upload = fileClient.upload(file, dirName);
- return ResultResponse.success(upload);
- }
- }
|