文件上传接口
This commit is contained in:
parent
f61c9bcd27
commit
3009c27acc
|
|
@ -0,0 +1,71 @@
|
||||||
|
package com.bonus.gs.sub.evaluate.evaluate.controller;
|
||||||
|
|
||||||
|
import com.bonus.gs.sub.evaluate.manager.utils.AjaxRes;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author:liang.chao
|
||||||
|
* @Date:2025/2/24 - 16:31
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
@RequestMapping("/upload")
|
||||||
|
@Slf4j
|
||||||
|
public class UploadController {
|
||||||
|
|
||||||
|
@Value("${upload.dir}")
|
||||||
|
private String uploadDir;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件上传
|
||||||
|
* @param file
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping(path = "/file", method = RequestMethod.POST)
|
||||||
|
@ResponseBody
|
||||||
|
public AjaxRes uploadFile(@RequestParam("file") MultipartFile file) {
|
||||||
|
AjaxRes ar = new AjaxRes();
|
||||||
|
if (file != null && !file.isEmpty()) {
|
||||||
|
// 验证文件类型
|
||||||
|
String originalFileName = file.getOriginalFilename();
|
||||||
|
String fileExtension = originalFileName != null && originalFileName.contains(".")
|
||||||
|
? originalFileName.split("\\.")[originalFileName.split("\\.").length - 1] : "";
|
||||||
|
if (!"xls".equalsIgnoreCase(fileExtension)
|
||||||
|
&& !"xlsx".equalsIgnoreCase(fileExtension)
|
||||||
|
&& !"doc".equalsIgnoreCase(fileExtension)
|
||||||
|
&& !"docx".equalsIgnoreCase(fileExtension)
|
||||||
|
&& !"jpg".equalsIgnoreCase(fileExtension)
|
||||||
|
&& !"jpeg".equalsIgnoreCase(fileExtension)
|
||||||
|
&& !"png".equalsIgnoreCase(fileExtension)) {
|
||||||
|
ar.setFailMsg("文件类型错误,请上传xls/xlsx/doc/docx/jpg/jpeg/png格式的文件");
|
||||||
|
return ar;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
File targetDir = new File(uploadDir);
|
||||||
|
if (!targetDir.exists()) {
|
||||||
|
targetDir.mkdirs();
|
||||||
|
}
|
||||||
|
String fileName = System.currentTimeMillis() + "_" + file.getOriginalFilename();
|
||||||
|
File targetFile = new File(uploadDir, fileName);
|
||||||
|
file.transferTo(targetFile);
|
||||||
|
// 返回文件路径
|
||||||
|
String pathname = targetFile.getAbsolutePath();
|
||||||
|
ar.setSucceedMsg("文件上传成功");
|
||||||
|
ar.setSucceed(pathname);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error(e.toString(), e);
|
||||||
|
ar.setFailMsg("文件上传失败");
|
||||||
|
}
|
||||||
|
return ar;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue