版权所有 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. python os.system()返回值判断

    最近遇到os.system()执行系统命令的情况,上网搜集了一下资料,整理如下,以备不时之需,同时也希望能帮到某些人. 一.python中的 os.system(cmd)的返回值与linux命令返回值 ...

  2. express 手动删除session状态(即登出功能)

    在退出按钮被点击后,发送请求/logout,服务端做如下处理: app.get('/logout', function() { delete req.session.user; return res. ...

  3. 什么是Mbps、Kbps、bps、kb、mb及其换算和区别

    Mbps 即 Milionbit pro second(百万位每秒): Kbps 即 Kilobit pro second(千位每秒): bps 即 bit pro second(位每秒): 速度单位 ...

  4. Inside The C++ Object Model - 01

    前言 1.Foundation项目是一个定义大系统开发模型的项目,又叫Grail. 2.Grail中编译器被分为:parser(语法分析)->type checking -> simpli ...

  5. Egret 摇一摇功能

    一  什么是重力感应 二 什么是陀螺仪 三 Egret中的摇一摇是利用什么原理实现的 四 摇一摇代码 一 什么是重力感应 二 什么是陀螺仪 三 Egret中的摇一摇是利用什么原理实现的 大概是利用手机 ...

  6. zip和zippartition总结

    最近在搞spark机器学习项目时,碰到了一些小问题.两个数据集要联到一起.比如rdd1=("abc","cde","dfc"),rdd2=( ...

  7. 循序渐进Python3(一)-- 初识Python

    一.Python起源                

  8. const实现

    [const实现]

  9. scala学习:apply方法

    摘抄两段话: 在明确了方法调用的接收者的情况下,若方法只有一个参数时,调用的时候就可以省略点及括号.如 " to ",实际完整调用是 ".to()".但 &qu ...

  10. Codeforces Round #243

    CF 243  DIV1 & DIV2 DIV2的A和B都太水,直接暴力搞就可以的. DIV2A /* ******************************************** ...