文件上传
首先手写一个file-upload.jsp上传表单
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>文件上传</title>
</head>
<body>
<form method="post" action="${pageContext.request.contextPath }/fileupload" enctype="multipart/form-data">
资源名称:<input type="text" name="name" /> <br>
上传文件:<input type="file" name="file" /> <br>
<input type="submit" value="上传"/>
</form>
</body>
</html>
然后书写对于的FileController类
package springmvc.controller;
import java.io.File;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
@Controller
@RequestMapping("/fileupload")
public class FileController {
@RequestMapping(method = RequestMethod.GET)
public String getPage(){
return "file-upload";
}
@RequestMapping(method = RequestMethod.POST)
public String upload(@RequestParam String name,
@RequestParam MultipartFile file) throws Exception{
System.out.println("文件资源:" + name);
System.out.println("文件:" + file);
if(!file.isEmpty()){
file.transferTo(new File("D:/upload", file.getOriginalFilename()));
}
return "index";
}
}
对应的在xml中或者AppConfig类中进行配置
/**
* 配置文件上传的bean:设置文件大小
* @return
*/
@Bean
public MultipartResolver multipartResolver(){ // 注意:方法名必须这么写,作为bean名字
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
multipartResolver.setMaxInMemorySize(30*1024*1024);
return multipartResolver;
}
这样就完成配置
同时upload文件中也存在了上传的文件
同时跳转到index.jsp中