Springmvc实现文件上传
导包:
在pom.xml中导入相应包:
<!-- 上传组件包 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>${commons-fileupload.version}</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons-io.version}</version>
</dependency>
前端:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form method="post" action="/file/uploadFile.action" enctype="multipart/form-data">
<input type="file" name="multipartFile" >
<input type="submit" value="提交">
</form>
</body>
</html>
Controller
@Controller
public class UploadFileController {
@RequestMapping(value = "/file/uploadFile.action")
public void uploadFile(MultipartFile multipartFile, HttpServletRequest request) throws IOException {
//随机文件名
String fileName = UUID.randomUUID().toString().replace( "-", "" );
String path = request.getServletContext().getRealPath( "/img/" ); //C://xx/img
//后缀名 jpg
String extension = FilenameUtils.getExtension( multipartFile.getOriginalFilename() );
// C://xx/img/aa.jpg linux:/url/tomcat/webapp/AAA/13cd.png
File file = new File( path + fileName + "." + extension );
//保存文件
multipartFile.transferTo( file );
//将文件URL 地址返回
//返回:http://xxx:8080/img/+ fileName + "." + extension
}
}
创建一个img文件夹:值得注意的是需要在img文件夹中先放入一个文件,如果不放入,编译的时候out文件夹会找不到。