- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Java语言文件上传组件研究
基于Java语言文件上传组件研究
摘要:随着Internet的普及,资源共享已经成为网民传递信息的常用方式。因此实现文件上传功能对广大网民来说越来越重要。该文在RFC文件的基础上,利用SmartUpload和commons fileupload两种方式来讲解如何实现文件上传。
关键词:SmartUpload;commons fileupload;上传;RFC
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)33-7475-05
随着Internet的普及,越来越多的网民将自己计算机中的文件上传至服务器端供其他网民或亲朋好友浏览、欣赏。最典型的文件上传是在生活中,很多网民都建立了自己个性化的博客或者私人空间,可以将在日常工作、生活、旅游中的照片上传到空间,供大家浏览。
文件上传,涉及到对文件的读写操作,需要大量的代码实现,并且容易引发异常。幸运的是,目前有很多比较常用的文件上传工具,可以大大简化我们编写上传代码的代码量,目前比较常用的组件有SmartUpload和commons fileupload两种方式。该文选择了目前比较流行的JSP语言作为讲解的案例,首先介绍RFC做界面,接着通过SmartUpload和commons fileupload两种方式讲解文件上传操作,并通过两种方式的对比给出最佳上传操作。
1 上传界面
1.1 RFC1867协议介绍
在最初的 http 协议中,并没有文件上传方面的功能。 rfc1867协议为 http 协议添加了这个功能。客户端的浏览器,如 Microsoft IE, Mozila, Opera 等,按照此规范将用户指定的文件发送到服务器。服务器端的网页程序,如 php, asp, jsp 等,可以按照此规范,解析出用户发送来的文件。Microsoft IE, Mozila, Opera 已经支持此协议,在网页中使用一个特殊的 form 表单控件就可以发送文件。绝大部分 http server ,包括 tomcat ,已经支持此协议,可接受发送来的文件。各种网页程序,如 php, asp, jsp 中,对于上传文件已经做了很好的封装。
RFC1867协议主要是在HTTP协议的基础上为Input标签增加了file属性,同时限定了Form的method必须为Post,表单中Enctype必须为multipart/form-data,表示上传的是二进制数据,如果不设置,默认是application/x-www-form-urlencoded,这种设置是不能实现上传功能。除了以上几个属性外,当然还增加了一些与此相关属性,但都不是本文讨论的重点,我们在此只讨论与上传相关的一些属性。
1.2 按照RFC1867协议创建界面
我们以一个商品添加为例,按照RFC1867协议创建界面如图1所示。
2 文件上传功能实现
实现上传文件的组件有很多,常用SmartUpload和:Commons-FileUpload。在这里我们分别对两种上传方式进行使用,最后通过测试得出一种最优的上传方式。
2.1 SmartUpload组件上传
2.1.1 SmartUpload简介【1】
SmartUpload是一个可免费使用的全功能的文件上传、下载组件,适用于嵌入执行上传、下载操作的jsp文件中。该组件有以下几个特点:
1)使用简单,编写少量代码,完成上传下载功能。
2)能够控制上传内容,通过SmartUpload组建可以获得全部上传文件的信息,包括文件名称、类型、大小等,方便操作。
3)能够控制上传文件的大小、类型进行控制,SmartUpload为了控制上传过程中的数据,提供了相应的方法用于限制不符合要求的数据文件。
缺点:目前已经停止更新,服务网站也已关闭。
2.1.2 SmartUpload组件常用类及其方法
SmartUpload组件主要包含File,Files,SmartUpload核心类,常用方法如表1、表2、表3所示。
2.1.3 SmartUpload上传代码实现
将jspsmartupload.jar 添加到WEB-INF\lib目录下,在WebRoot下创建upload文件夹。关键代码如下:
SmartUpload smartUpload = new SmartUpload();//初始化SmartUpload对象
smartUpload.initialize(pageContext);
com.jspsmart.upload.File file = null;
String alloweString =
文档评论(0)