HTML部分

<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="index.aspx.cs"Inherits="up6.index" %>

<!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<htmlxmlns="http://www.w3.org/1999/xhtml">

<head>

<metahttp-equiv="Content-Type"content="text/html; charset=gb2312"/>

<title>up6-多标签演示页面</title>

<linkhref="js/up6.css"type="text/css"rel="Stylesheet"charset="gb2312"/>

<scripttype="text/javascript"src="js/jquery-1.4.min.js"></script>

<scripttype="text/javascript"src="js/json2.min.js"charset="utf-8"></script>

<scripttype="text/javascript"src="js/up6.config.js"charset="utf-8"></script>

<scripttype="text/javascript"src="js/up6.app.js"charset="utf-8"></script>

<scripttype="text/javascript"src="js/up6.edge.js"charset="utf-8"></script>

<scripttype="text/javascript"src="js/up6.file.js"charset="utf-8"></script>

<scripttype="text/javascript"src="js/up6.folder.js"charset="utf-8"></script>

<scripttype="text/javascript"src="js/up6.js"charset="utf-8"></script>

<scriptlanguage="javascript"type="text/javascript">

var cbMgr = new HttpUploaderMgr();

cbMgr.event.md5Complete = function (obj, md5) { /*alert(md5);*/ };

cbMgr.event.fileComplete = function (obj) { /*alert(obj.fileSvr.pathSvr);*/ };

cbMgr.event.queueComplete = function () { $(document.body).append("队列完成<br/>"); }

cbMgr.event.addFdError = function (jv) { alert("本地路径不存在:" + jv.path); };

cbMgr.event.scanComplete = function (obj) { /*alert(obj.folderSvr.pathLoc);*/ };

cbMgr.Config["Cookie"] = 'ASP.NET_SessionId=<%=Session.SessionID%>';

cbMgr.Config.Fields["uid"] = 0;

$(function ()

{

cbMgr.load_to("FilePanel");

//上传指定文件

$("#btnUpF").click(function () {

var path = $("#filePath").val();

cbMgr.app.addFile({ pathLoc: path });

});

//上传指定目录

$("#btnUpFd").click(function () {

var path = $("#folderPath").val();

cbMgr.app.addFolder({ pathLoc: path });

});

});

</script>

</head>

<body>

<p>up6多标签上传演示页面</p>

<p><ahref="db/clear.aspx"target="_blank">清空数据库</a></p>

<p><ahref="filemgr/index.aspx"target="_blank">文件管理器演示</a></p>

<p><ahref="index2.aspx"target="_blank">单面板演示</a></p>

<p><ahref="down2/index.htm"target="_blank">打开下载页面</a></p>

<p><ahref="index-single.htm"target="_blank">单文件上传演示</a></p>

<p>

文件路径:<inputid="filePath"type="text"size="50"value="D:\\360safe-inst.exe"/>&nbsp;

<inputid="btnUpF"type="button"value="上传本地文件"/>

</p>

<p>

目录路径:<inputid="folderPath"type="text"size="50"value="C:\\Users\\Administrator\\Desktop\\test"/>&nbsp;

<inputid="btnUpFd"type="button"value="上传本地目录"/>

</p>

<divid="FilePanel"></div>

<divid="msg"></div>

</body>

</html>

代码部分

using  System;

using  System.Collections;

using  System.ComponentModel;

using  System.Data;

using  System.Drawing;

using  System.Web;

using  System.Web.SessionState;

using  System.Web.UI;

using  System.Web.UI.WebControls;

using  System.Web.UI.HtmlControls;

namespace  WebPortal

{

///  <summary>

///  UpLoad  的摘要说明。

///  实现多文件上传

///  </summary>

public  class  Upload  :  System.Web.UI.Page

{

protected  System.Web.UI.WebControls.Button  UploadButton;

protected  System.Web.UI.WebControls.Label  strStatus;

private  void  Page_Load(object  sender,  System.EventArgs  e)

{

///  在此处放置用户代码以初始化页面

if  (this.IsPostBack)  this.SaveImages();

}

private  Boolean  SaveImages()

{

///'遍历File表单元素

HttpFileCollection  files    =  HttpContext.Current.Request.Files;

///  '状态信息

System.Text.StringBuilder  strMsg  =  new  System.Text.StringBuilder();

strMsg.Append("上传的文件分别是:<hr  color=red>");

try

{

for(int  iFile  =  0;  iFile  <  files.Count;  iFile++)

{

///'检查文件扩展名字

HttpPostedFile  postedFile  =  files[iFile];

string  fileName,  fileExtension;

fileName  =  System.IO.Path.GetFileName(postedFile.FileName);

if  (fileName  !=  "")

{

fileExtension  =  System.IO.Path.GetExtension(fileName);

strMsg.Append("上传的文件类型:"  +  postedFile.ContentType.ToString()  +  "<br>");

strMsg.Append("客户端文件地址:"  +  postedFile.FileName  +  "<br>");

strMsg.Append("上传文件的文件名:"  +  fileName  +  "<br>");

strMsg.Append("上传文件的扩展名:"  +  fileExtension  +  "<br><hr>");

///'可根据扩展名字的不同保存到不同的文件夹

///注意:可能要修改你的文件夹的匿名写入权限。

postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("images/")  +  fileName);

}

}

strStatus.Text  =  strMsg.ToString();

return  true;

}

catch(System.Exception  Ex)

{

strStatus.Text  =  Ex.Message;

return  false;

}

}

#region  Web  窗体设计器生成的代码

override  protected  void  OnInit(EventArgs  e)

{

//

//  CODEGEN:  该调用是  ASP.NET  Web  窗体设计器所必需的。

//

InitializeComponent();

base.OnInit(e);

}

///  <summary>

///  设计器支持所需的方法  -  不要使用代码编辑器修改

///  此方法的内容。

///  </summary>

private  void  InitializeComponent()

{

this.ID  =  "Upload";

this.Load  +=  new  System.EventHandler(this.Page_Load);

}

#endregion

}

}

选择文件夹

js部分

后端代码逻辑大部分是相同的,目前能够支持MySQL,Oracle,SQL。在使用前需要配置一下数据库,可以参考我写的这篇文章:http://blog.ncmem.com/wordpress/2019/08/07/java超大文件上传与下载/

asp.net大文件传输断点续传源码的更多相关文章

  1. .net大文件传输断点续传源码

    IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头. 一. 两个必要响应头Accept-Ranges.ETag 客户端每次提交下载请求时,服务 ...

  2. php大文件传输断点续传源码

    1.使用PHP的创始人 Rasmus Lerdorf 写的APC扩展模块来实现(http://pecl.php.net/package/apc) APC实现方法: 安装APC,参照官方文档安装,可以使 ...

  3. jsp大文件传输断点续传源码

    这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数 下面直接贴代码吧,一些难懂的我大部分都加上注释了: 上传文件实体类: 看得 ...

  4. asp .net 大文件传输配置

    asp .net config配置 需要在配置文件里面设置文件上传限定的两个属性值:maxAllowedContentLength,maxRequestLength 允许上传文件的长度,和请求的长度, ...

  5. WCF大文件传输【转】

    http://www.cnblogs.com/happygx/archive/2013/10/29/3393973.html WCF大文件传输 WCF传输文件的时候可以设置每次文件的传输大小,如果是小 ...

  6. 大文件传输 分片上传 上传id 分片号 授权给第三方上传

    https://www.zhihu.com/question/39593108 作者:ZeroOne链接:https://www.zhihu.com/question/39593108/answer/ ...

  7. WCF大文件传输服务

    由于项目需要,自己写一个基于WCF的大文件传输服务雏形.觉得有一定的参考价值,因此放在网上分享. 目前版本为v1.1特点如下: 1.文件传输端口为18650 2.上传和下载文件 3.支持获取文件传输状 ...

  8. 使用NeatUpload控件实现ASP.NET大文件上传

    使用NeatUpload控件实现ASP.NET大文件上传 一般10M以下的文件上传通过设置Web.Config,再用VS自带的FileUpload控件就可以了,但是如果要上传100M甚至1G的文件就不 ...

  9. 转:wcf大文件传输解决之道(2)

    此篇文章主要是基于http协议应用于大文件传输中的应用,现在我们先解析下wcf中编码器的定义,编码器实现了类的编码,并负责将Message内存中消息转变为网络发送的字节流或者字节缓冲区(对于发送方而言 ...

随机推荐

  1. 从入门到自闭之Python--MySQL数据库的多表查询

    多表查询 连表: 内连接:所有不在条件匹配内的数据们都会被剔除连表 select * from 表名1,表名2 where 条件; select * from 表名1 inner join 表名2 o ...

  2. 【二分】Shell Pyramid

    [来源]:2008年哈尔滨区域赛 [题目链接]: http://acm.hdu.edu.cn/showproblem.php?pid=2446 [题意] 题目是真的长呀,其实就问一个问题. 按照图里面 ...

  3. http请求之of_ordering_http_post

    //Public function of_ordering_http_post (string as_vipsj,string as_url) returns string //string as_v ...

  4. java8 List对象集合去重

    //测试数据 WaterMeter w0 = new WaterMeter(); WaterMeter w1 = new WaterMeter(); WaterMeter w2 = new Water ...

  5. Dev-C++的一些使用技巧快捷键

    最近开始用Dev-C++在Window下编程,感觉Dec-C++是一款挺不错的C++编译器.下载地址http://www.duote.com/soft/9830.html .现总结一些使用技巧: 1. ...

  6. C#面向对象17 23种设计模式

    1.简单工厂模式 using System; using System.Collections.Generic; using System.Linq; using System.Text; using ...

  7. JS基础_打印99乘法表

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. O031、Start Instance 操作详解

    参考https://www.cnblogs.com/CloudMan6/p/5470723.html   本节将通过日志文件分析 instance start 的操作过程,下面是 start inst ...

  9. 微信小程序点击复制功能

    wx.setClipboardData({ data: '这是要复制的文字', success: function (res) { wx.showModal({ title: '提示', conten ...

  10. 1 sql server 中merge的用法

    MERGE 要更新的表名 AS target USING ( 这里是用什么数据源来跟新 ) AS source ( 这里是数据源的所有列名 ) ON 这里是要更新的表和数据源的匹配条件 WHEN MA ...