`
Mojarra
  • 浏览: 130068 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

fastupload 0.3.1发布

阅读更多

fastupload根据RFC 1867文档规范,编写的基于表单文件上传的组件,支持表单多文件上传,二进制文件与文本文件分开处理,彻底解决上传文本文 件编码问题,支持文件上传大小限制,支持文件上传进度计算,api接口简明,比Apache Common File Upload速度快、稳定性高,无需任何第三方库的支持。

完整的功能列表:
    1.    支持上传多个文件
    2.    支持sub-boundary
    3.    提供“一次性”的编码解决方案
    4.    支持单个上传文件大小限制,支持上传请求大小限制
    5.    支持文件上传进度
    6.    速度快,内存占用小,稳定性高


在fast upload 0.31版本中,增加了HttpMemoryUploadParser类,对multipart/form-data请求中非文件类型的数据处理,这个类处理上传请求是Apache Common File Upload的3~4倍。

快速上手:
新增加的HttpMemoryUploadParser的用法,

 

//以UTF8编码创建内存数据工厂
MultiPartDataFactory mpdf = new MemoryMultiPartDataFactory("utf-8"); 
HttpMemoryUploadParser uploadParser = new HttpMemoryUploadParser(request, mpdf);  //创建HttpMemoryUploadParser对象
		 
List<MultiPartData> list = uploadParser.parseList();  // 解析请求

//预先创建保存文件的路径
File dir = new File(System.getProperty("user.home") + "/memoryupload/dump");
dir.mkdirs();

for (MultiPartData e : list) {
	String target = String.format("%s/%s", dir.getAbsolutePath(), e.getFileName());
	if (e.isFile()) {  //如果是文件,保存到制定目录,否则,打印出来
		e.toFile(target);
	}
	else {
		System.out.println(new String(e.getContentBuffer()));
	}
}

 

        
 
HttpFileUploadParser的用法

//以UTF8编码,创建DiskFileFactory,指定文件保存的路径用当前用户的home目录
DiskFileFactory dff = new DiskFileFactory(System.getProperty("user.home") + "/fastupload/", "utf-8"); 
HttpFileUploadParser parser = new HttpFileUploadParser(request, dff);
parser.parse();  //解析,并保存文件到dff对象所指定的目录下
 


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

 

 

分享到:
评论
5 楼 Mojarra 2012-08-27  
Mojarra 写道
yyxh520 写道
怎么得到文件路径和名字



e.getFileName()返回上传的文件名,解析到内存后,是没有路径的,需要保存到磁盘时才考虑路径的问题

e.toFile(target);



刚才放错了文件,重下一下
4 楼 Mojarra 2012-08-27  
yyxh520 写道


<FORM NAME="mainForm" ACTION="#" ENCTYPE="multipart/form-data" METHOD="post">
    &nbsp;&nbsp;起始日期&nbsp;&nbsp;<input name="startDate" type="text" id="startDate" readonly="true"
                                       onclick="SelectDate(this,'yyyy-MM-dd hh:mm:ss')"/>
    &nbsp;截止日期&nbsp;
    <input name="endDate" type="text" id="endDate" readonly="true" onclick="SelectDate(this,'yyyy-MM-dd hh:mm:ss')"/>
    &nbsp;&nbsp; 文件:<INPUT TYPE="file" NAME="file"/>

    &nbsp;&nbsp;<a href="#" onclick="mySearch()"><INPUT TYPE="button" VALUE="提交"></a>
</FORM>


不能和其他参数一起提交吗,会出错


请从这篇blog中下载附件,如果有问题请加Q-Q群:210759641
3 楼 yyxh520 2012-08-27  


<FORM NAME="mainForm" ACTION="#" ENCTYPE="multipart/form-data" METHOD="post">
    &nbsp;&nbsp;起始日期&nbsp;&nbsp;<input name="startDate" type="text" id="startDate" readonly="true"
                                       onclick="SelectDate(this,'yyyy-MM-dd hh:mm:ss')"/>
    &nbsp;截止日期&nbsp;
    <input name="endDate" type="text" id="endDate" readonly="true" onclick="SelectDate(this,'yyyy-MM-dd hh:mm:ss')"/>
    &nbsp;&nbsp; 文件:<INPUT TYPE="file" NAME="file"/>

    &nbsp;&nbsp;<a href="#" onclick="mySearch()"><INPUT TYPE="button" VALUE="提交"></a>
</FORM>


不能和其他参数一起提交吗,会出错
2 楼 Mojarra 2012-08-27  
yyxh520 写道
怎么得到文件路径和名字



e.getFileName()返回上传的文件名,解析到内存后,是没有路径的,需要保存到磁盘时才考虑路径的问题

e.toFile(target);
1 楼 yyxh520 2012-08-27  
怎么得到文件路径和名字

相关推荐

    Virace0.3.1chs gps信号模拟

    Virace0.3.1chs是一款专用于GPS信号模拟的软件工具,对于理解和操作GPS系统以及相关应用开发具有重要意义。GPS(全球定位系统)是一种基于卫星导航的全球定位技术,广泛应用于交通管理、地理测绘、气象预报、海洋...

    运营平台v0.3.1_改专题发布+SPU合并+快捷发布+草稿0808.rp

    运营平台v0.3.1_改专题发布+SPU合并+快捷发布+草稿0808.rp

    sasl-0.3.1-cp39-cp39-win-amd64

    win-sasl-0.3.1-cp39-cp39-win_amd64,sasl-0.3.1-cp39-cp39-win_amd64

    clickhouse-jdbc-0.3.1.jar

    jar依赖

    Python库 | abimap-0.3.1.tar.gz

    在这个场景中,我们关注的是`abimap-0.3.1.tar.gz`,这是一个压缩文件,包含了`abimap`库的源代码和其他相关文件。 `abimap`库可能是用于处理二进制数据映射的,因为"abimap"可以被理解为"抽象映射",这通常涉及到...

    qwtplot3d 0.3.1版本QT 3D 点云数据绘制类

    在qwtplot3d-0.3.1版本中,对点云显示进行了优化和扩展,使得处理大规模3D点云数据变得更加高效和灵活。 ### 1. **库的核心特性** - **跨平台兼容性**:QWTPlot3D支持多个版本的Qt(从Qt4到Qt5),以及多种编译器...

    file-column-0.3.1.tar.gz

    file-column-0.3.1.tar.gzfile-column-0.3.1.tar.gzfile-column-0.3.1.tar.gzfile-column-0.3.1.tar.gzfile-column-0.3.1.tar.gzfile-column-0.3.1.tar.gzfile-column-0.3.1.tar.gzfile-column-0.3.1.tar.gzfile-...

    dojo-0.3.1-ajax

    "dojo-0.3.1-ajax" 是一个与Dojo JavaScript库相关的版本,特别是涉及到其 AJAX(Asynchronous JavaScript and XML)功能的版本。Dojo是一个开源的JavaScript工具包,为Web开发提供了丰富的功能,包括DOM操作、动画...

    nginx_upstream_hash-0.3.1.tar.gz

    本文将深入探讨`nginx_upstream_hash-0.3.1`这个第三方模块的功能、配置以及实际应用场景。 `nginx_upstream_hash`模块是Nginx的扩展,它允许我们基于请求的某个特定部分(如URL、客户端IP等)生成哈希值,并以此...

    pytorch 0.3.1 python3.6 CPU版本whl

    pytorch 0.3.1 python3.6 CPU版本whl,这个属于老版本了,在官网上都不容易找到,我这里分享出来

    Virace GPS Simulator V0.3.1

    Virace GPS Simulator 用软件模拟GPS接收器输出的GPS语句,通过串行口输出到GPS应用软件。用鼠标或键盘控制Virace而模拟实际GPS接收器的运动,或者重播已有的GPS航迹文件,从而在室内测试GPS导航软件等。...

    pytorch-0.3.1-py36_win

    pytorch 0.3.1 for Windows pytorch0.4.0以下版本被墙 此为0.3.1版

    python_pcl-0.3.1-cp36-cp36m-win_amd64.whl

    python_pcl-0.3.1-cp36-cp36m-win_amd64.whl

    jd-gui-0.3.1.windows

    从标题"jd-gui-0.3.1.windows"可以看出,这是该工具的0.3.1版本,专为Windows操作系统设计。"免安装_反编译工具(jd-gui-0.3.1.windows).rar"描述了该软件的特性,它以RAR压缩格式提供,便于用户快速下载和使用,...

    pytorch 0.3.1 for python3.5 windows64位版本

    pytorch 0.3.1 for python3.5 windows64位版本,在anaconda下安装

    jdbc-helper-0.3.1

    《jdbc-helper-0.3.1:Google封装的高效JDBC工具详解》 在Java开发中,数据库操作是不可或缺的一部分,而JDBC(Java Database Connectivity)作为Java与数据库交互的标准接口,扮演着至关重要的角色。然而,原生的...

    pytorch 0.3.1 for python3.6 windows64位版本

    pytorch 0.3.1 for python3.6 windows64位版本,在anaconda下安装

    torch-0.3.1-cp36-cp36m-linux_x86_64

    torch-0.3.1-cp36-cp36m-linux_x86_64 国内源下载。官方下载的离线安装包,适合找不到资源或者源头下载网速慢的朋友。因文件较大,此资源为本人提供的网盘下载链接。低版本难找,节约时间,供大家下载使用

    Seer_0.3.1

    Seer是一款功能强大的文件查阅软件,其最新版本为0.3.1。这款软件的核心特点在于提供了一种高效且直观的方式来预览各种类型的文件内容,无需通过专门的应用程序打开。在日常工作中,我们经常会遇到需要快速浏览文件...

    python-iniparse-0.3.1-2.1.el6.noarch.rpm

    python-iniparse-0.3.1-2.1.el6.noarch.rpm

Global site tag (gtag.js) - Google Analytics