前端上传表单
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<form enctype="multipart/form-data" method="post" action="/upload">
文件:<input type="file" name="header_img"/><input type="submit" value="上传" />
</form>
</body>
</html>
后端接口
@RequestMapping(value="/upload")public String upload(@RequestParam("header_img") MultipartFile file,HttpServletRequest request){System.out.println("文件名称"+file.getOriginalFilename());System.out.println("文件类型"+file.getContentType());System.out.println("文件大小"+file.getSize());//获取文件名称String fileName = file.getOriginalFilename();//获取文件后缀名称String suffixNmae = fileName.substring(fileName.lastIndexOf("."));//转换名称 方舟文件名称冲突fileName = UUID.randomUUID()+suffixNmae;System.out.println("转换后的文件名称"+fileName);File data = new File(filePath + fileName);try {file.transferTo(data);}catch ( IllegalStateException e){e.printStackTrace();} catch (IOException e) {throw new RuntimeException(e);}return "1";}
限制图片大小
- 不做任何处理的情况下,我上传一个2M左右的图片
- 在@SpringBootApplication 下加入拦截
@Beanpublic MultipartConfigElement multipartConfigElement() {MultipartConfigFactory factory = new MultipartConfigFactory();//单个文件最大factory.setMaxFileSize(DataSize.parse("10240KB")); //KB,MB/// 设置总上传数据总大小factory.setMaxRequestSize(DataSize.parse("1024000KB"));return factory.createMultipartConfig();}