Fastupload 0.4.7这个版本中主要增加了支持struts2的文件上传功能的“插件”,修复了解析IE7,IE8下某些版本上传的请求数据中文件名问题(这里感谢lkclkc
网友报的bug及提供的解决思路)。
使用struts的“插件”示例代码如下
public class StrutUploadAction2 extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = -5528908878055619784L;
private File photo;
@Override
public String execute() throws Exception {
System.out.println(photo); // 如何处理这个文件的代码省略
return super.execute();
}
// ...此处省略 getters & setters ...
}
在工程的struts配置文件里,增加fastupload的multipartrequest接口定义,并指定fastupload为默认的multipart handler
<bean type="org.apache.struts2.dispatcher.multipart.MultiPartRequest" name="fastupload" class="org.apache.struts2.dispatcher.multipart.FastUploadMultiPartRequest" scope="default" />
<constant name="struts.multipart.handler" value="fastupload" />
<constant name="fastupload.parse.type" value="direct"/>
最后,运行.... :)
受限于struts2中对于multipart/form-data请求的处理方式,又不想侵入struts2源码,这里给出一种“符合struts2中处理的方式“,因为fastupload已经做到完全用内存来处理multipart/form-data请求,完全不用临时文件来转存,这种处理方式在另外一篇博客里有详细介绍,《白话MVC(四)为Struts2编写文件上传插件
》。
到目前为止,这个插件虽然可以解决在struts2框架中不能使用fastupload api解析文件的问题,但受限于struts2中对于multipart/form-data请求的处理,插件自废了武功,完全发挥fastupload的威力,需要修改struts2的源码,甚至弃用apache commons fileupload,是一个巨复杂的事情,这个要和struts2开发小组讨论。
介绍
:
fastupload根据RFC
1867文档规范,编写的基于表单文件上传的组件,支持表单多文件上传,二进制文件与文本文件分开处理,彻底解决上传文本文件编码问题,支持文件上传大小限制,支持文件上传进度计算,api接口简明,比Apache Common File
Upload速度快、稳定性高,无需任何第三方库的支持。
完整的功能列表
:
-
支持上传多个文件
-
支持sub-boundary
-
提供“一次性”的编码解决方案
-
“预先“的过滤机制
-
支持struts2
-
支持单个上传文件大小限制,支持上传请求大小限制
-
支持文件上传进度
项目地址: https://sourceforge.net/projects/fastupload/
相关的博客:http://mojarra.iteye.com/category/222356
fastupload的未来:与Spring MVC的集成正在开发之中,与Struts2的集成的下一步工作正在计划之中,Tomcat7集成还在蓝图之中。
为了完成这些计划和蓝图,fastupload召集开源志愿者,http://mojarra.iteye.com/blog/1696697
分享到:
相关推荐
IETester-v0.4.7汉化版测试浏览器的兼容性问题。IETester-v0.4.7简单实用,下载安装即可。
Thumbnailator 是一个用来生成图像缩略图、裁切、旋转、添加水印等操作的 Java 类库,通过很简单的代码即可生成图片缩略图,也可直接对一整个目录的图片生成缩略图。
whatweb-0.4.7.tar.gz
python库。资源全名:enum-0.4.7.tar.gz
Thumbnailator是一个用来生成图像缩略图的 Java类库,通过很简单的代码即可生成图片缩略图,也可直接对一整个目录的图片生成缩略图。
libvirt-java0.4.7
IE的各个版本界面,IE5、6、7、8、9 在web开发上,是一个不错的查看工具。
imageio_ffmpeg-0.4.7-py3-none-manylinux2010_x86_64.whl 官网下载巨慢,这里下载能够最好的部署,节省时间
学密码学的朋友都知道,Pairing Based Cryptography源码库,你的方案是基于双线性对吗?现在就来实现吧,不要停留在理论的阶段了!
python库。 资源全名:wafer-0.4.7-py2-none-any.whl
kindle-kpvbooklet-0.4.7
python库。 资源全名:nose2-0.4.7.tar.gz
python库。资源全名:savory_pie-0.4.7-py2-none-any.whl
资源来自pypi官网。 资源全名:pylovm2-0.4.7.tar.gz
资源来自pypi官网。 资源全名:medikit-0.4.7-py2.py3-none-any.whl
资源来自pypi官网。 资源全名:djenga-0.4.7-py2.py3-none-any.whl
资源来自pypi官网。 资源全名:eryxdeploy-0.4.7-py2.py3-none-any.whl
python库。 资源全名:Flask_Stormpath-0.4.7-py2.py3-none-any.whl