今如目标:
文件上传
本博客在上一篇博客的基础上进行开发
springMVC之环境搭建和CRUD_m0_58525944的博客-优快云博客 |
文件上传
思路:
springMVC的文件上传:
1、页面
多功能表单设置enctype="mutipart/form-data" method="post"
2、后台
在上传的方法上传递MutipartFilefile的类来接收页面传递过来的参数
3、完成图片的虚拟映射 访问地址直接在Tomcat的配置上进行配置
4、为了开发便捷,需要引入common-fileUpload
FileUtil.copyinputStreamtoFile(inputStream,target)
1 建立upload.jsp文件上传的界面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>文件上传</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/book/upload" method="post" enctype="multipart/form-data">
待上传文件:<input type="file" name="xxx">
<input type="submit">
</form>
</body>
</html>
2 在pom.xml依赖中导入common-fileupload依赖
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
3 在BookController.java中添加一个文件上传的方法
@RequestMapping("/upload")
public String upload(HttpServletRequest request, MultipartFile xxx){
try {
FileUtils.copyInputStreamToFile(xxx.getInputStream(),new File("D:/IDEA/tupian/"+xxx.getOriginalFilename()));
} catch (IOException e) {
e.printStackTrace();
}
return "bookList";
}
该位置放图片保存的位置
4 完成图片的虚拟映射,配置如下图所示
打开Tomcat服务部署,添加外部源,选择放置图片的文件夹
选择完后修改图片的访问路径
5 在spring-mvc.xml中添加多功能分解器multipartResolver
<!--multipartResolver:多功能分解器-->
<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>
6 跑动服务进行测试
OK!到这就结束了,希望能帮到你!!!