上传页面:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>uploadTest</title> </head> <body> <form enctype="multipart/form-data" method="post" action="/test/upload"> 文件:<input type="file" name="upload"/><br> 姓名:<input type="text" name="name"/><br> <input type="submit" value="上传"> </form> </body> </html>
控制层controller
/** * 功能描述: * @RestController //添加controller且固定返回格式 ==@ResponseBody + @Controller * @RequestMapping("test") //访问路径 * @Scope("prototype") //配置多例 * * @author tck on 2021/12/18 */ @RestController @RequestMapping("test") @Scope("prototype") public class UploadTest { @RequestMapping("upload") public String uploadTest(MultipartFile upload){ //判断有没有上传文件 if(upload.isEmpty()){ return "上传失败,请有效文件"; } //定义上传文件路径 String path = "E:\\upload"; //判断若没有当前路径则创建 if(!new File(path).exists()){ new File(path).mkdirs(); } //获取上传文件名 String originalFilename = upload.getOriginalFilename(); //给上传的文件定义一个不会重名的名字,UUID和当前时间戳 可选择用哪个 UUID uuid = UUID.randomUUID(); Long timed = System.currentTimeMillis(); //获取文件后缀名 String substring = originalFilename.substring(originalFilename.lastIndexOf("."),originalFilename.length() ); //定义新文件名 File fileName = new File(path + "\\" + uuid + substring); try { upload.transferTo(fileName); return "上传成功+"+fileName; } catch (IOException e) { e.printStackTrace(); } return "上传失败"; }
application.properties 配置文件大小
#定义单个文件最大 spring.servlet.multipart.max-request-size=5MB #上传总文件最大 spring.servlet.multipart.max-file-size=20MB #spring boot 开启动画 spring.banner.location= classpath:static/banner.txt