目录
1.文件上传
大概的图如下所示:
客户端:
注:multipart/form-data属性可以理解为将表单中的数据转换成二进制的形式提交,然后后端进行解析处理。
服务端:
1导入依赖且必须配置上传解析bean(Springmvcpeizh),对提交的二进制表单数据进行解析,id的值是multipartResovler。
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
<!--配置上传解析Bean-->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="10240000"></property>
</bean>
<!--配置异常处理bean:当DispatcherService中出现异常后会自动调用异常处理Bean,比对是否有匹配的异常,如果有则请求转发指定的资源-->
<bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="MaxUploadSizeExceededException">error</prop>
<prop key="NullPointException">error</prop>
</props>
</property>
</bean>
2.假设上面的数据传到该单元方法中,我们必须再设置一个MultipartFile对象去接收。在接受之后,这里我们是将图片存到D盘的images文件下,其实现实应该上传到服务器中。
3.文件存储到硬盘中后,我们还要读取出来展示到页面中,方法如下,用I/O流进行读取。
4.这里我们也能对上传的文件大小和个格式进行限制,只需在springmvc的配置文件中配置即可,上面的代码中已有,当抛出异常时配置文件发挥作用,就会跳转到自己设置的异常处理页面。
2.文件下载
前端:
当点击这个下载图片时,会向后端发出请求
后端:
这里后端设置的是下载,然后通过I/O流,从硬盘(服务器)中读取相应的文件或者图片下载。