step1:在resources文件夹下面的static文件夹中创建html页面:index.html页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!--action表示将这个表单提交给哪个方法-->
<form action="upload" method="post" enctype="multipart/form-data">
<input type="file" name="fileupload">
<input type="submit">
</form>
</body>
</html>
效果:
step2:在Controller中设置好浏览器上传的图片保存到本地哪个位置
@RestController
public class IndexController
{
@RequestMapping("/upload")
public String upload(MultipartFile fileupload) throws IOException
{
//图片保存地址
fileupload.transferTo(new File("C:/Users/15776/Desktop/upload/"+fileupload.getOriginalFilename()));
return "success";
}
}
这样就已经可以上传成功了,但是上传不了太大的文件,会报错,还需要继续设置一下:
step3:创建一个Config包,里面写一个Config类
@Configuration
public class UpLoadConfig
{
@Bean
public MultipartConfigElement multipartConfigElement()
{
MultipartConfigFactory factory=new MultipartConfigFactory();
factory.setMaxFileSize(DataSize.ofMegabytes(20));//限制文件最大大小为20MB
return factory.createMultipartConfig();
}
}
另一种用配置文件设置文件最大大小的方法:
@Configuration
public class UpLoadConfig
{
@Value("${fileSize}")
private Long filesize20l;
@Bean
public MultipartConfigElement multipartConfigElement()
{
MultipartConfigFactory factory=new MultipartConfigFactory();
factory.setMaxFileSize(DataSize.ofMegabytes(filesize));//限制文件最大大小为20MB
return factory.createMultipartConfig();
}
}
同时在application.propertires文件中写上:
fileSize=50