FileUpload的学习笔记 (转载)
近两天来由于项目需要使用上传组件,于是我仔细分析了Cos和FileUpload的源代码,并对它们的性能进行了测试比较,使用2M、20M、45M、200M的上传大小测试三种组件所花费的时间(单位为ms)结果是:
<st1:chmetcnv unitname="m" sourcevalue="2" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on">2M</st1:chmetcnv>
<o:p> </o:p>
|
第1次
|
第2次
|
第3次
|
第4次
|
平均
|
Cos
|
297
|
203
|
234
|
245
|
245<o:p></o:p>
|
FileUpload
|
281
|
312
|
281
|
312
|
297<o:p></o:p>
|
SmartUpload
|
531
|
594
|
485
|
532
|
536<o:p></o:p>
|
<o:p> </o:p>
<o:p> </o:p>
<st1:chmetcnv unitname="m" sourcevalue="20" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on">20M</st1:chmetcnv>
<o:p> </o:p>
|
第1次
|
第2次
|
第3次
|
第4次
|
平均
|
Cos
|
2562
|
2109
|
2719
|
2172
|
2391<o:p></o:p>
|
FileUpload
|
4062
|
4140
|
5360
|
3922
|
4371<o:p></o:p>
|
SmartUpload
|
3453
|
3094
|
3078
|
3547
|
3293<o:p></o:p>
|
<o:p> </o:p>
<o:p> </o:p>
<st1:chmetcnv unitname="m" sourcevalue="45" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on">45M</st1:chmetcnv>
<o:p> </o:p>
|
第1次
|
第2次
|
第3次
|
第4次
|
平均
|
<st1:place w:st="on">Cos</st1:place>
|
4860
|
4844
|
5125
|
5171
|
5000<o:p></o:p>
|
FileUpload
|
9000
|
8391
|
10375
|
10078
|
9461<o:p></o:p>
|
SmartUpload
|
8265
|
9187
|
8672
|
8856
|
8745<o:p></o:p>
|
<o:p> </o:p>
<o:p> </o:p>
<st1:chmetcnv unitname="m" sourcevalue="200" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on">200M</st1:chmetcnv>
<o:p> </o:p>
|
第1次
|
第2次
|
第3次
|
第4次
|
平均
|
Cos
|
55813
|
52282
|
54796
|
51187
|
53520<o:p></o:p>
|
FileUpload
|
76343
|
68531
|
80954
|
79031
|
76215<o:p></o:p>
|
SmartUpload
|
内存堆栈溢出<o:p></o:p>
|
<o:p> </o:p>
|
<o:p> </o:p>
|
<o:p> </o:p>
|
<o:p> </o:p>
|
从上述的表格对比中可以看出Cos始终保持着良好的性能。在上传量较小(容量<2M,这是最常出现的情况)时,Cos比FileUpload性能并没有好很多,但SmartUpload
分享到:
相关推荐
### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...
**JSP完全学习笔记概述** JSP(JavaServer Pages)是一种动态网页技术,它结合了HTML、Java代码和脚本语言,使得开发者可以方便地创建交互式的Web应用程序。本学习笔记全面涵盖了JSP的关键概念、核心语法、常用标签...
在`用fileupload处理文件上传.doc`中,可能包含了实际的代码示例和实现步骤,对于初学者来说,这是一个很好的学习资源。而`新建 文本文档 (3).txt`可能记录了一些开发过程中的笔记或注释。 最后,`upfile`可能是...
### Struts学习笔记详解 #### 一、Struts框架概览与编码设置 在学习Struts框架时,首要关注的是其编码配置。如代码片段所示,`struts.i18n.encoding`常量被设置为`UTF-8`,这确保了国际化(I18N)资源文件的正确...
### Struts2学习笔记知识点详解 #### 一、准备工作及实例 **1. 解压struts-2.1.6-all.zip** - **Apps目录**:包含struts2自带的例子程序,供用户学习和参考。 - **Docs目录**:提供官方文档,包括API文档、指南等...
在本篇“Struts2学习笔记三”中,我们将探讨Struts2中处理文件上传的核心组件和拦截器,以及如何在实际应用中实现文件上传。 1. 文件上传组件: - jspSmartUpload:这是一个早期用于模型1的上传组件,现在已经被更...
本学习笔记将详细介绍如何在ASP.NET环境中实现这一功能,并确保文件上传时不重复。 首先,我们需要了解ASP.NET中的文件上传控件`<asp:FileUpload>`。这个控件允许用户选择一个或多个文件进行上传。在HTML表单中,...
本学习笔记将深入探讨Struts2的核心概念、工作原理以及如何在实际开发中有效利用它。 **1. MVC模式与Struts2** MVC模式是一种软件设计模式,它将业务逻辑(Model)、用户界面(View)和数据控制(Controller)分离...
Java Web 学习笔记主要涉及了文件上传这一关键知识点,这是在开发Web应用程序时常见的功能,比如用户上传头像、图片或附件等。文件上传在HTML表单中通过特定的方式实现,包括以下几点: 1. **表单提交方式**:为了...
### Struts2.1学习笔记 #### Struts2的来源与优点 - **来源**:Struts2是在WebWork2的基础上发展起来的,它继承了WebWork2的优点,并且进行了改进,使其更适合现代Web应用程序的需求。与Struts1相比,Struts2的...
在本学习笔记中,我们将深入探讨 Struts 1.3.8 的核心概念、功能以及实际应用。Struts 为开发者提供了构建动态 Web 应用程序的结构框架,简化了开发流程,增强了代码的可维护性和可扩展性。 首先,我们来了解 MVC ...
### 传智播客Struts2全程学习笔记 #### Struts2的优点 1. **无侵入式设计**:与Struts1相比,Struts2的设计更为先进,它不依赖于Servlet API或Struts API,这使得Struts2更加灵活且易于集成到其他环境中。在代码...
在本篇“Struts2学习笔记十三”中,我们将深入探讨Struts2如何处理文件上传和下载,这是Web开发中常见的需求。 文件上传在Web应用中广泛用于让用户提交图片、文档或其他类型的数据。Struts2提供了一个名为`...
文件上传可通过FileUpload插件实现,它处理HTTP的multipart/form-data请求,将上传文件保存在服务器。文件下载则可以通过Action直接返回流对象来完成,确保文件内容正确传输到客户端。 八、Struts2细节: Struts2的...