Spring上传组件的使用
来源:互联网 发布:2017盒子免费视频软件 编辑:程序博客网 时间:2024/04/30 07:36
一.Spring支持web应用中的分段文件上传。这种支持是由即插即用的MultipartResolver来实现。这些解析器都定义在org.springframework.web.multipart包里。首先我们要在bean的配置文件里配置上传组件包的使用:<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!—这里name属性的值定义的是我们上传文件允许的最大值-->
<property name="maxUploadSize" value="100000"/>
</bean>
当然你需要在classpath中为分段文件解析器提供正确的jar文件。如果是CommonsMultipartResolver,你需要使用commons-fileupload.jar,如果是CosMultipartResolver,则使用cos.jar
当Spring的DispatcherServlet发现文件上传请求时,它会激活定义在上下文中的解析器来处理请求。这个解析器随后是将当前的HttpServletRequest封装成MultipartHttpServletRequest,后者支持分段文件上传。使用MultipartHttpServletRequest,你可以获取请求所包含的上传信息,甚至可以在控制器中获取分段文件的内容。
二.表单的处理:
<html>
<head>
<title>Upload a file please</title>
</head>
<body>
<h1>Please upload a file</h1>
<form method="post" action="upload.form" enctype="multipart/form-data">
<input type="file" name="file"/>
<input type="submit"/>
</form>
</body>
</html>
在上面这个表单里有一个input元素,这个元素的名字(“file”)和服务器端处理这个表单的bean(在下面将会提到)中类型为byte[]的属性名相同。 在这个表单里我们也声明了编码参数(enctype="multipart/form-data")以便让浏览器知道如何对这个文件上传表单进行编码(千万不要忘记这么做!)
一. 属性注册器的配置:
和其它不能自动转为字符串类型或者基本类型(primitive type)的属性一样,为了将上传的二进制数据存成bean的属性,你必须通过ServletRequestDatabinder注册一个属性编辑器。Spring中内置了几个这样的编辑器,它们可以处理文件,然后将结果存成bean的属性。比如,StringMultipartEditor可以将文件转换成一个字符串(使用用户声明的字符集)。ByteArrayMultipartEditor可以以将文件转换为byte数组。他们的功能和CustomDateEditor相似。
protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder)
throws ServletException {
binder.registerCustomEditor(byte[].class, new ByteArrayMultipartFileEditor());
}
五.我们定义一个接受文件的JavaBean对象存储文件,这样以来你从前面接受来的上传文件可以任意操作,对于上传一个文件照上面的配置应该没有什么问题,如多是上传一个图片,那要把和视图中上传文件的属性名的类型改为MultipartFile 类型,这样就不存在什么类型的转换了,自然也就不需要什么属性编辑器了。
- Spring上传组件的使用
- 文件上传组件 FileUpload组件的使用
- ajax fileupload上传组件的使用感悟
- jquery上传组件的使用经验介绍
- 使用jspSmartUpload组件实现图片的上传
- 文件上传组件 FileUpload 的使用
- bootstrap_fileinput 上传组件的简单使用
- webuploader的使用 文件上传组件
- 三种上传组件的使用与ajax上传
- 不使用Webwork 封装的上传组件,直接使用的自己的上传组件
- 使用Fileupload上传组件
- 使用Fileupload上传组件
- Spring Cloud各个组件的配套使用
- 使用spring实现文件的上传
- 使用Spring MVC 完成文件的上传
- Spring CommonsMultipartResolver文件上传的使用
- 使用spring自带的文件上传
- 图片上传功能的实现(FileUpload组件的使用)
- getchar和逆转5个字符大小的字符串
- singleton相关的Java.lang.error
- Spring2.5基于驱动的MVC
- Request_irq和setup_irq的区别
- vsftpd停止失败,状态提示“vsftpd 已死,但是 subsys 被锁”问题的解决办法(转)
- Spring上传组件的使用
- SQL Server 压缩日志及数据库文件大小
- Oracle常用函数整理
- Fire Net
- 如何查看数据库的空间使用情况
- UltraEdit 15.10 注册机
- 把虚拟系统接入网络--VMware网络设置
- Java 读取xml文件内容程序小结
- doubanclaim4c142e78270ee279