package com.finance.common.core.controller; import com.finance.common.config.FileUploadConfig; import com.finance.common.core.domain.AjaxResult; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; /** * 文件上传控制类 * * @author junelee * @date 2020/3/20 20:21 */ @Api(tags = "服务器文件上传") @RestController @CrossOrigin @RequestMapping("/file/") public class FileController { @Autowired private FileUploadConfig fileUploadConfig; @ApiOperation(value = "单文件上传", notes = "单文件上传,rename 默认不重命名") @PostMapping(value = "upload", headers = "content-type=multipart/form-data") public AjaxResult uploadImageMany(@RequestParam(value = "file") MultipartFile mf) throws IOException { if (mf.isEmpty()) { return AjaxResult.error("请传入文件!"); } String TimeDir =new SimpleDateFormat("yyyy-MM-dd").format(new Date()); // String realPath = fileUploadConfig.getLocation() + TimeDir; String realPath = "C:\\Users\\Admin\\Desktop\\qrcode\\" + TimeDir; File file = new File(realPath); // 没有目录就创建 if (!file.exists()) { file.mkdirs(); } // 获取文件名称 String filename = mf.getOriginalFilename(); // 获取文件后缀 String ext = filename.substring(filename.lastIndexOf("."), filename.length()); // 检查文件类型 if (!fileUploadConfig.getAllowExt().contains(ext)) { return AjaxResult.error("上传文件格式不正确,仅支持" + fileUploadConfig.getAllowExt()); } File targetFile = new File(realPath, filename);//目标文件 //开始从源文件拷贝到目标文件 //传图片一步到位 mf.transferTo(targetFile); //拼接数据 // String imgstr = fileUploadConfig.getAccessPath() + TimeDir +"\\"+ filename; String imgstr = TimeDir +"/"+ filename; return AjaxResult.success(imgstr); } // @ApiOperation(value = "单文件上传", notes = "单文件上传,rename 默认不重命名") // @PostMapping(value = "strUpload", headers = "content-type=multipart/form-data") // public String strUpload(@RequestParam(value = "file") MultipartFile mf,@RequestParam(value = "fileName")String fileName) throws IOException { // if (mf.isEmpty()) { // return "请传入文件!"; // } // String TimeDir =new SimpleDateFormat("yyyy-MM-dd").format(new Date()); // String realPath = fileUploadConfig.getQrLocation() + TimeDir; // File file = new File(realPath); // // 没有目录就创建 // if (!file.exists()) { // file.mkdirs(); // } // File targetFile = new File(realPath, fileName);//目标文件 // //开始从源文件拷贝到目标文件 // //传图片一步到位 // mf.transferTo(targetFile); // //拼接数据 // return fileUploadConfig.getQrLocation() + TimeDir +"\\"+ fileName; // } @ApiOperation(value = "单文件上传", notes = "单文件上传,rename 默认不重命名") @PostMapping(value = "strUpload", headers = "content-type=multipart/form-data") public String strUpload(@RequestParam(value = "file") MultipartFile mf,@RequestParam(value = "fileName")String fileName) throws IOException { if (mf.isEmpty()) { return "请传入文件!"; } String TimeDir =new SimpleDateFormat("yyyy-MM-dd").format(new Date()); String realPath = "C:\\Users\\Admin\\Desktop\\qrcode\\" + TimeDir; File file = new File(realPath); // 没有目录就创建 if (!file.exists()) { file.mkdirs(); } File targetFile = new File(realPath, fileName);//目标文件 //开始从源文件拷贝到目标文件 //传图片一步到位 mf.transferTo(targetFile); //拼接数据 return TimeDir +"/"+ fileName; } @ApiOperation(value = "单文件上传(覆盖服务器原文件)", notes = "单文件上传,rename 默认不重命名") @PostMapping(value = "test/upload", headers = "content-type=multipart/form-data") public AjaxResult uploadTest(@RequestParam(value = "file") MultipartFile mf) throws IOException { if (mf.isEmpty()) { return AjaxResult.error("请传入文件!"); } String TimeDir = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); String realPath = fileUploadConfig.getLocation() + "2021-11-17"; File file = new File(realPath); // 没有目录就创建 if (!file.exists()) { file.mkdirs(); } // 判断文件大小 String filename = "6u2mGlqHkeE75e2ab51b4a03c6982ff7d68f4c024d43.jpg"; // 获取文件后缀 String ext = filename.substring(filename.lastIndexOf("."), filename.length()); // 检查文件类型 if (!fileUploadConfig.getAllowExt().contains(ext)) { return AjaxResult.error("上传文件格式不正确,仅支持" + fileUploadConfig.getAllowExt()); } File targetFile = new File(realPath, filename);//目标文件 //开始从源文件拷贝到目标文件 //传图片一步到位 mf.transferTo(targetFile); //拼接数据 String imgstr = fileUploadConfig.getAccessPath() + "2021-11-17" + "/" + filename; return AjaxResult.success(imgstr); } }