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
分享到:
相关推荐
2. thumbnailator-0.4.7.jar:这可能是库的核心模块,可能需要额外的库来支持某些功能,适用于已经配置好依赖环境的情况。 3. thumbnailator-0.4.7-javadoc.zip:这是该库的Java文档,包含了详细的API说明,对于...
2. **硬件支持**:ReactOS致力于支持各种硬件设备,0.4.7可能会增加对更多硬件的原生驱动,包括显卡、声卡、网络适配器等,以提高用户体验。 3. **应用程序兼容性**:ReactOS的目标之一是运行大多数Windows应用程序...
2. 用户可以选择一个或多个版本进行测试,每个版本都有独立的浏览窗口。 3. 输入要测试的网页URL,IETester会模拟指定版本的IE浏览器加载和渲染网页。 4. 观察网页在不同IE版本下的显示效果,对比CSS样式、...
标题 "PBC 0.4.7 for VC" 指的是一个针对Visual C++编译环境的Pairing-Based Cryptography(PBC)库的版本0.4.7。PBC是一个开源的C语言实现,提供了对双线性配对算法的底层支持,广泛应用于密码学领域。这个版本是为...
**IETester-v0.4.7汉化版浏览器的兼容性** 在IT行业中,浏览器兼容性是一项至关重要的任务,特别是在网页设计、开发和测试领域。IETester是一款专为解决这一问题而设计的工具,它允许用户在同一个环境中测试不同...
ActiveDirectoryEnum是一个用于枚举和分析Windows Active Directory环境的Python工具,它的版本为0.4.7,专为Python 3设计,不依赖于特定的平台("py3-none-any")。在本文中,我们将详细探讨ActiveDirectoryEnum的...
2. **README文件**:这是一个重要的文档,通常会提供安装指南、使用示例、项目概述和开发者注意事项等内容。对于WhatWeb-0.4.7,你可以从中了解到如何编译、安装和运行WhatWeb,以及可能存在的已知问题和解决方法。 ...
在这个场景中,我们关注的是一个名为"enum"的Python库,其版本为0.4.7,封装在"enum-0.4.7.tar.gz"的压缩包文件中。这个压缩包通常包含了库的所有源代码、文档和其他相关资源。 `enum`是Python中的一个内置库,自...
标题中的“PyPI官网下载 | djenga-0.4.7-py2.py3-none-any.whl”指的是一款名为“djenga”的Python库,它在Python的包索引服务PyPI(Python Package Index)上发布。PyPI是Python开发者共享和分发他们软件包的官方...
**Python库wafer-0.4.7-py2-none-any.whl详解** 在Python的开发环境中,库扮演着至关重要的角色,它们提供了各种功能,帮助开发者高效地编写代码。`wafer-0.4.7-py2-none-any.whl`是一个Python库的特定版本,名为...
标题中的“PyPI 官网下载 | eryxdeploy-0.4.7-py2.py3-none-any.whl”指的是Python Package Index(PyPI)上发布的eryxdeploy库的0.4.7版本,该版本适用于Python 2和Python 3环境。PyPI是Python社区的官方软件仓库,...
6. **兼容性与更新**:GPU_Z.0.4.7支持多种显卡架构,包括NVIDIA的GeForce、Tesla和Quadro系列,以及AMD的Radeon系列。软件定期更新,以适应新的显卡技术和标准。 7. **轻量级设计**:作为一款小巧的工具,GPU_Z...
在这个nose2-0.4.7.tar.gz压缩包中,包含了nose2的源码和相关文件。 在Python的测试生态系统中,nose2作为一个强大的工具,它引入了许多实用特性: 1. 自动发现:nose2能够自动发现项目中的测试代码,无需手动编写...
2. **增强的书签管理**:支持创建、编辑和组织书签,方便用户随时找到重要的章节或内容。 3. **阅读统计**:提供阅读时间、进度等统计信息,帮助用户跟踪阅读习惯。 4. **快速导航**:提供快速跳转至书本特定位置的...
2. **域(Domain)操作**:域是libvirt中的基本单位,代表一个虚拟机实例。`Domain`类提供了丰富的接口,如启动、暂停、停止、重启虚拟机,以及查询虚拟机状态、配置和性能数据。 3. **网络和存储管理**:libvirt-...
3. **兼容性**:PBC库支持多种双线性对构造,包括Weil对、Tate对以及优化的Tate对,适应不同的应用场景。 4. **集成OpenSSL**:在Windows版本的PBC库中,集成了OpenSSL库,可以利用OpenSSL的强大功能,如大整数运算...
2. **数据转换**:除了解析,Kabeja还支持数据转换。这意味着你可以将解析出的DXF数据转换为其他格式,例如3D模型格式,如OBJ或STL,或者地理空间数据格式,如GML或KML。 3. **API友好**:Kabeja提供了一个清晰、...
2. **新功能**:可能包括新的图形用户界面元素、系统服务或者对特定硬件的支持,如新的声卡、显卡驱动等。 3. **兼容性增强**:ReactOS团队不断努力改善对Windows API的实现,以确保更多的Windows程序可以在ReactOS...
这个文件是针对 **Flask_Stormpath** 库的一个版本,版本号为0.4.7,适用于Python 2和Python 3环境,它是一个跨平台的独立二进制格式,可以在任何支持Python的系统上安装。 **Flask_Stormpath** 是一个基于 **Flask...
"savory_pie-0.4.7-py2-none-any.whl" 是一个针对Python 2编译的Python库,版本为0.4.7。这个文件是一个wheel格式的包,它是Python的二进制包分发格式,使得安装过程更加便捷快速。 首先,让我们了解一下Python库。...