• Fastupload 0.4.7 发布,支持 struts2


    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速度快、稳定性高,无需任何第三方库的支持。


    完整的功能列表

    1. 支持上传多个文件
    2. 支持sub-boundary
    3. 提供“一次性”的编码解决方案
    4. “预先“的过滤机制
    5. 支持struts2
    6. 支持单个上传文件大小限制,支持上传请求大小限制
    7. 支持文件上传进度

    项目地址: https://sourceforge.net/projects/fastupload/

    相关的博客:http://mojarra.iteye.com/category/222356


    fastupload的未来:与Spring MVC的集成正在开发之中,与Struts2的集成的下一步工作正在计划之中,Tomcat7集成还在蓝图之中。

    为了完成这些计划和蓝图,fastupload召集开源志愿者, http://www.oschina.net/news/33714/fastupload-need-volunteers
  • 相关阅读:
    python Unittest中setUp与setUpClass的区别
    Python的range和xrange的区别
    Python列表中的列表元素(嵌套列表)访问
    python字符串转为列表
    python正则匹配
    Python自动化测试用例设计--自动化测试用例与手工测试用例区别与联系
    Python+Selenium学习--自动化测试模型
    Python+Selenium学习--cookie处理
    Python+Selenium学习--控制浏览器控制条
    Python+Selenium学习--下载文件
  • 原文地址:https://www.cnblogs.com/shihao/p/2745090.html
Copyright © 2020-2023  润新知