1.声明文件上传的属性
2.前端设置上传表单
3.保存文件

1.配置文件定义需要上传的标准

spring.http.multipart.exable=true    #文件上传
spring.http.multipart.file-size-threshold=0  
spring.http.multipart.max-file-size=1MB    #单个文件上传
spring.http.multipart.request-size=10MB    #最大文件上传

springboot配置文件中中定义文件上传的一些声明,这些声明内容可以在org.springframework.boot.autoconfigure.web.servlet.MultipartProperties中自己声明需要配置哪些内容,一般情况下只需要设置上面那几个就可以了

2.前端设置表单

	<form method="post" action="/upload" enctype="multipart/form-data">
		<input type="file" name="file" /> <input type="submit" value="提交" />
		<input type="reset" value="重置" />
	</form>

前端声明是表单提交方式,但是因为需要上传传输文件到服务器,所以需要声明提交方式为post, 文件编码方式为multipart/form-data格式。

3.controller端进行保存操作

@RequestMapping("/upload")
	public void upload(@RequestParam("file") MultipartFile file) throws IOException {
		if (ObjectUtils.isEmpty(file)) {
			System.out.println("文件是空的");
			return;
		}
		String filename = file.getOriginalFilename();// 文件的名字。
		File descFile = new File("\\testfile\\" + filename + "sss.txt");//如果不确定位置可以使用绝对路径进行测试
		if (!descFile.exists()) {
			descFile.createNewFile();
		}
		try {
			file.transferTo(descFile); // 文件保存
		} catch (Exception e) {
			System.out.println("文件保存出现异常了");
			e.printStackTrace();
			return;
		}
		System.out.println("文件上传成功了");
	}

上面主要的是 @RequestParam(“file”) MultipartFile file 用于接收文件,该类的对象的 transferTo() 方法用于保存文件。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐