Web大文件上传控件-示例更新-Xproer.HttpUploader6.2

版权所有 2009-2016荆门泽优软件有限公司

保留所有权利

官方网站:http://www.ncmem.com/

产品首页:http://www.ncmem.com/webapp/up6.2/index.asp

在线演示:http://www.ncmem.com/products/up6.2/index.htm

产品介绍:http://www.cnblogs.com/xproer/archive/2012/10/26/2741264.html

升级日志:http://www.cnblogs.com/xproer/archive/2012/10/26/2741268.html

开发文档-ASPhttp://www.cnblogs.com/xproer/archive/2012/02/17/2355458.html

开发文档-PHPhttp://www.cnblogs.com/xproer/archive/2012/02/17/2355467.html

开发文档-JSPhttp://www.cnblogs.com/xproer/archive/2012/02/17/2355462.html

开发文档-ASP.NEThttp://www.cnblogs.com/xproer/archive/2012/02/17/2355469.html

资源下载:cab安装包(x86),cab安装包(x64),crx安装包,crx(nat)安装,xpi安装包,exe安装包,开发文档,VC运行库,Discuz!X2插件下载,

示例下载(.NET)SQL2005示例,

示例下载(JSP)Sql2005示例,MySQL示例,Oracle示例,

示例下载(PHP)MySQL示例

联系信箱:1085617561@qq.com

联系QQ1085617561

 

up6-asp.net示例更新-重构文件夹业务逻辑

 

服务端更新

更新DBFile.cs

删除GetAllUnComplete2方法,此方法主要实现加载未完成的任务列表,包括文件和文件夹。

代码截图:

c10aced2-6714-4b0c-a9da-6ac8ffe88c7b

 

删除GetAll方法,这个方法是最早的实现加载未完成的文件列表的逻辑。在这个方法中文件夹的子文件件列表信息是保存在一个字符串中,客户端使用时会对此字符串进行JSON解码。逻辑实现比较冗余。

代码截图:

138fb1e1-0985-4894-9059-2bee852591ae

 

删除方法:GetAllUnComplete,此代码使用了较多和较频繁的数据库操作,效率性能比较低。逻辑实现比较复杂,对文件夹信息的处理比较容易出错误。

代码截图:

dc316899-62f2-44a9-887b-fd9a89e0d3b6

 

删除方法:static public string GetAllComplete(int f_uid)

代码截图:

a227d0f0-cd81-4841-95a1-c10e7876c431

 

删除方法:GetFilesByUid

代码截图:

9096db43-2cd1-470f-9491-ed078d77d424

 

删除方法:GetUnCompletes

代码截图:

67f3b5cd-635b-4bac-817a-bae398b0f51e

 

新增fd_appender.cs

新增fd_child.cs

新增fd_file.cs

新增fd_root.cs

新增fd_uuid_appender.cs

folder逻辑主要重构了对文件的初始化逻辑。提高了效率

8885c5af-13bc-4e9e-83ed-b31f563bab17

 

新增un_file.cs

新增un_builder

这两个文件重构了加载未完成列表逻辑,代码质量,重复代码利用率有较大幅度提升。

cfcdd4d9-a757-4671-83bf-0de480ed9e7d

 

删除uc_builder.cs

删除uc_file_child.cs

删除uc_folder.cs

删除uncomplete/uc_builder,uc_file_child,uc_file,新的逻辑由un_file,un_builder实现。

357ffd5e-1abd-4670-8fd9-01ac3d3014b9

 

更新f_list.aspx

 

修改前:

f0c0c91d-95e7-40fc-a940-3dfb51de3dda

修改后

1591b213-fc83-4930-aa0d-01fbd8a0a803

 

重构文件夹初始化逻辑,新逻辑由fd_appender,fd_child,fd_file,fd_root,fd_uuid_appender实现。

其中fd_uuid_appender实现了在服务端完全保留文件夹层级结构的功能。

02565446-731d-472e-aa5f-56410f9f1280

 

更新fd_create.aspx

更新前:

fa1537c1-ad01-460e-815b-476bb1b6bab5

更新后:

01d8a18e-1380-4daa-a643-b5b40fd171d2

更新fd_create_uuid.aspx

更新前:

e0791434-8074-406b-aba4-b1a52466bc64

更新后:

acf1e8d4-4c5d-4edd-88bf-b67308b2088b

 

JS更新

 

更新:up6.js

续传文件夹时,根据f_fdTask来判断文件夹类型改为根据fdTask来判断

更改前:

21c3107d-c489-4234-ad60-d8ef5d30d017

 

更改后:

76cdf56d-a924-470e-a7b7-4f4423732072

 

更新:up6.folder.js

添加文件夹时显示文件数量改为使用files.length显示,同时取消pathLocal的赋值

更新前:

e39eb2f4-e645-483f-bf4f-6b0763364461

更改后:

843452cd-99e8-4514-a966-845fbe45eed3

 

构建文件夹对象时使用尝试复制选项

更改前:

db7a39d7-123d-43dc-a298-35ac29b44123

更改后:

0a1539eb-04f0-4343-bbad-6500f7314834

 

1.重构文件夹初始化逻辑

 

2.重构加载文件夹逻辑

 

3b7c8ec4-62b3-4b0e-887e-a60857d4daad

 

 

数据库更新

新增存储过程:fd_files_check

用于提升文件夹重复文件检查速度。当文件夹中文件数量比较多时此存储过程提升的速度更加明显。

代码截图:

eecb768b-d341-4109-b33f-91d28cc2e824

 

更新存储过程:f_process

代码截图:

f68ac688-fe28-4779-a9eb-58b89fcdc01f

关联代码

DBFile.cs

7e441937-8378-47a5-95fd-2b701731cbf8

原文地址:https://www.cnblogs.com/xproer/p/5773502.html