版权所有 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

开发文档:ASP,PHP,JSP,ASP.NET,

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

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

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

示例下载(PHP):MySQL示例

联系信箱:1085617561@qq.com

联系QQ:1085617561

 

修复文件夹中文件数过多导致数组超界的问题

修复前错误截图:

 

 

fd_appender.cs

修改前:

 

修改后:

 

代码:

void make_ids()

{

    this.cmd = db.GetCommandStored("fd_files_add_batch");

    db.AddInt(ref cmd, "@f_count", this.m_root.files.Count + 1);

    db.AddInt(ref cmd, "@fd_count", this.m_root.folders.Count + 1);

    cmd.Connection.Open();

    var r = cmd.ExecuteReader();

    List<string> id_files = new List<string>();

    List<string> id_fds = new List<string>();

    while(r.Read())

    {

        if (r.GetBoolean(0)) id_files.Add(r.GetInt32(1).ToString());

        else id_fds.Add(r.GetInt32(1).ToString());

    }

    r.Close();

    this.f_ids = id_files.ToArray();

    this.fd_ids = id_fds.ToArray();

}

 

存储过程:

fd_files_add_batch.sql

修改前:

 

修改后:

代码:

USE [HttpUploader6]

GO

/****** 对象:  StoredProcedure [dbo].[fd_add_batch]    脚本日期: 07/28/2016 17:42:12 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

 

-- =============================================

-- Author:         zysoft

-- Create date: 2016-08-04

-- 更新 2016-09-06 使用临时表解决ID数量过多的问题。

-- Description:    批量分配文件夹ID和文件ID,提供给上传文件夹使用,在初始化时使用

-- =============================================

CREATE PROCEDURE [dbo].[fd_files_add_batch]   

      @f_count int --文件总数,要单独增加一个文件夹

     ,@fd_count int     --文件夹总数

AS

BEGIN

     -- SET NOCOUNT ON added to prevent extra result sets from

     -- interfering with SELECT statements.

     SET NOCOUNT ON;

    

     --使用临时表存储ID

     create table #tb_ids(t_file bit,t_id int)

 

    DECLARE @i int;

     set @i = 0;

 

     /*批量添加文件夹*/

     while @i < @fd_count

     begin

         insert into up6_folders(fd_pid) values(0);

         insert into #tb_ids values(0,@@IDENTITY)

         set @i = @i + 1;

     end

 

     /*批量添加文件*/

     set @i = 0;

     while @i < @f_count

     begin

         insert into up6_files(f_pid) values(0)

         insert into #tb_ids values(1,@@IDENTITY)

         set @i = @i+1

     end

    

     --清除,

     select * from #tb_ids;

END

 

修复后上传文件数量多的文件夹效果:

 

Web大文件上传控件-asp.net-bug修复-Xproer.HttpUploader6.2的更多相关文章

  1. web大文件上传控件-设置附加参数-Xproer.HttpUploader6

    自定义附加字段在up6.js中定义,也可以不用定义: 注意: 1.附加字段必须是字符串类型. 2.如果附加字段的值包含中文,在上传前必须使用encodeURIComponent进行编码.     在引 ...

  2. Web大文件上传控件-bug修复-Xproer.HttpUploader6

    1.修复上传文件夹时,文件夹大小可能不正确的问题.这个问题是由于以MD5模式上传时没有更新文件夹总大小导致.   更新fd_complete.aspx   更新DBFile.cs-fd_complet ...

  3. web大文件上传控件-监控fd_create流程-Xproer.HttpUploader6

      监控fd_create流程 1.打开ie,f12 2.启动网络监控 点击开始捕获 上传文件夹,然后查看监控 将监控信息转到详细视图

  4. web大文件上传控件-监控f_create流程-Xproer.HttpUploader6

    监控f_create流程 1.打开ie,f12 2.启动网络监控 点击开始捕获 上传文件,然后查看监控 将监控信息转到详细视图 向f_create提交的数据 f_create返回值

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

    版权所有 2009-2016荆门泽优软件有限公司 保留所有权利 官方网站:http://www.ncmem.com/ 产品首页:http://www.ncmem.com/webapp/up6.2/in ...

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

    版权所有 2009-2016荆门泽优软件有限公司 保留所有权利 官方网站:http://www.ncmem.com/ 产品首页:http://www.ncmem.com/webapp/up6.2/in ...

  7. web大文件上传控件-jsp-oracle-bug修复-Xproer.HttpUploader6

    说明: 修复删除文件夹逻辑错误的问题   1.更新up6.js 更新前: 更新后: 代码:         , "RemoveFolder": function (fileSvr) ...

  8. 因用了NeatUpload大文件上传控件而导致Nonfile portion > 4194304 bytes错误的解决方法

    今天遇到一个问题,就是“NeatUpload大文件上传控件而导致Nonfile portion > 4194304 bytes错误”,百度后发现了一个解决方法,跟大家分享下: NeatUploa ...

  9. vue大文件上传控件选哪个好?

    需求: 项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在20G内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以20G来进行限制. PC端全平台支持,要求支持Window ...

随机推荐

  1. django model 中class meta

    class Meta: ordering = ['-num', 'length'] verbose_name = 'name' verbose_name_plural = 'names' orderi ...

  2. 神奇的C语言

    当然下面列出来的几点都是C的基础用法,只不过是这些用法可能平时不会被注意.所以很多东西第一次看到的时候,可能会觉得很怪异,但是细细想想就能很好的理解,也就能更好的清楚C语言的一些特性.但是在具体的编码 ...

  3. LVM原理及实现过程

    这里引用鸟哥说明 LVM 的重点在於『可以弹性的调整 filesystem 的容量!』而并非在於效能与数据保全上面. 需要文件的读写效能或者是数据的可靠性,请参考前面的 RAID 小节. LVM 可以 ...

  4. 网站接入QQ登录的两种方法

    第一种使用系统自带按钮登录,但是这样会弹出新窗口,不喜欢 //调用QC.Login方法,指定btnId参数将按钮绑定在容器节点中 QC.Login({ //btnId:插入按钮的节点id,必选 btn ...

  5. Angular $http解析通过接口获得的json数据

    刚接触angular不久,对很多东西都不了解,今天需要用angular通过接口得到json数据,折腾了好久,总算是能获取到数据了,下面是部分源码,仅供参考: HTML部分: <body ng-a ...

  6. 43. studio上的json串解析

    var doc = O_PARAMETER.FJSonStr;(doc为:{"items":[],"nextId":0}) //1.先转为json对象,主要有以 ...

  7. 使用 Git 管理源代码

    在现代软件开发项目中,要成为一个有效的软件开发人员,我们必须能够与其他项目贡献者并行进行开发.源代码管理(SCM)系统不是什么新思想.为了编写一些能够更快速.简单地开发以后软件项目的软件,已经进行了很 ...

  8. 转:RealThinClient (RTC)是什么?

    RealThinClient SDK是用于开发标准的HTTP(S)服务器,ISAPI扩展以及客户端的VCL控件.可用于Windows下的CodeGear Delphi 6-XE5. 功能描述 Abou ...

  9. python生成器和迭代器

    生成器:具有生成能力的对象 迭代器:具有取值功能的对象 def func(): yield 1 yield 2 yield 3 ret = func() #func()函数体称为生成器 r=ret._ ...

  10. cursor

    BeginWaitCursor(); // display the hourglass cursor // do some lengthy processing Sleep(3000); EndWai ...