springmvc配置文件
在文件上传时,要在springmvc.xml配置文件中添加下列代码
<!--解析文件上传类型-->
<!--将前端上传的文件解析到MultipartFile中-->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="10240000"></property>
<property name="defaultEncoding" value="UTF-8"></property>
</bean>
将此设置完成后,再在Controller层中进行操作
FileUploadContriller类
package cn.csy.account.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
@Controller
public class FileUploadController {
@GetMapping("/toFile")
public String toFile(){
return "file";
}
/*
*MultipartFile pic是接收文件类型的
* 在这之前已经通过配置文件解析
* */
@PostMapping("/upload")
public String upload(String username, Integer age, MultipartFile pic) throws IOException {
System.out.println(username);
System.out.println(age);
System.out.println(pic.getName());
//pic.getOriginalFilename()表示获取上传时文件的名称
System.out.println(pic.getOriginalFilename());
InputStream is = pic.getInputStream();
/*
* pic.transferTo(new File("D:\\"+pic.getOriginalFilename()));
* 表示要将文件上传到的位置
* */
pic.transferTo(new File("D:\\"+pic.getOriginalFilename()));
//这里文件上传提交后的跳转的地址,按自己的需求进行更改
return "file";
}
}
简易的jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="/upload.do" method="POST" enctype="multipart/form-data">
姓名:<input type="text" name="username"/><br/>
年龄:<input type="text" name="age"/><br/>
文件:<input type="file" name="pic"><br>
<input type="submit" value="提交"/>
</form>
</body>
</html>
转载自原文链接, 如需删除请联系管理员。
原文链接:SpringMVC---03 文件的上传,转载请注明来源!