springmvc文件上传与json支持
springmvc文件上传
pom依赖
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
springmvc.xml
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 必须和用户JSP 的pageEncoding属性一致,以便正确解析表单的内容 -->
<property name="defaultEncoding" value="UTF-8"></property>
<!-- 文件最大大小(字节) 1024*1024*50=50M-->
<property name="maxUploadSize" value="52428800"></property>
<!--resolveLazily属性启用是为了推迟文件解析,以便捕获文件大小异常-->
<property name="resolveLazily" value="true"/>
</bean>
upload.jsp
<form action="${pageContext.request.contextPath}/book/upload" method="post" enctype="multipart/form-data">
请选择文件:<input type="file" name="xxx">
<input type="submit" value="ok">
</form>
import org.apache.commons.io.FileUtils;
XXXControl
@RequestMapping("/upload")
public String upload(HttpServletRequest req, MultipartFile xxx){
String fileName=xxx.getOriginalFilename();
String contentType=xxx.getContentType();
try {
FileUtils.copyInputStreamToFile(myfile.getInputStream(),new File("E:/images/"+fileName));
} catch (IOException e) {
e.printStackTrace();
}
return "redirect:/book/list";
}
注意:
upload.jsp的xxx一定名字一致!!!(我取得是myfile)
XXXControl里的xxx
配置一下图片的虚拟映射:
成功!
json支持
XXXControl
@ResponseBody
@RequestMapping("/json1")
public Map json1(HttpServletRequest req) {
Map map = new HashMap();
PageBean pageBean = new PageBean();
pageBean.setRequest(req);
Book book = new Book();
book.setBname("");
List<Map> list = bookService.listPager1(book, pageBean);
map.put("total", pageBean.getTotal());
map.put("data", list);
return map;
}
@ResponseBody
@RequestMapping("/json2")
public List<Map> json2(HttpServletRequest req) {
PageBean pageBean = new PageBean();
pageBean.setRequest(req);
Book book = new Book();
book.setBname("");
List<Map> list = bookService.listPager1(book, pageBean);
return list;
}
@RequestMapping("/json3")
public String json3() {
return "springmvc string to json";
}
第一种返回:Map
第二种返回:List< Map>
第三种返回:String