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. 一个非常好用的php后台模板

    http://www.h-ui.net/H-ui.admin.shtml

  2. python基础(十二)--模块

    模块的导入方式 import os  调用时os.rename from os import rename #只导入的特定功能 调用时rename() from asynico.events impo ...

  3. CentOS7下使用ELK搭建日志集中分析平台

    应用场景: ELK实际上是三个工具的集合,ElasticSearch + Logstash + Kibana,这三个工具组合形成了一套实用.易用的监控架构,很多公司利用它来搭建可视化的海量日志分析平台 ...

  4. Jmeter之Dummy Sampler

    Dummy Sampler(Dummy取样器) Dummy Sampler就像是一个模拟器,需要自己填入请求和响应的信息.(原理类似mock服务) 在没有服务的情况下,测试人员依据Dummy Samp ...

  5. JavaScript设计模式(单例模式)

    单例模式是一种简单但非常实用的模式,特别是惰性单例技术,在合适的时候才创建对象,并且只创建唯一的一个.下面我们来逐步了解单例模式的用法. 一.简版单例模式: var Singleton = funct ...

  6. 在Windows平台上运行Tomcat

    从之前的学习中知道,可以调用Bootstrap类将Toomcat作为一个独立的应用程序来运行,在Windows平台上,可以调用startup.bat批处理文件来启动Tomcat,或运行shutdown ...

  7. IntelliJ IDEA Spring boot devtools 实现热部署

    一.spring-boot-devtools是一个为开发者服务的一个模块,其中最重要的功能就是自动部署新代码. 二.原理 使用了两个ClassLoader,一个ClassLoader用来加载那些不会变 ...

  8. R语言学习笔记:读取前n行数据

    常规读取 一般我们读取文件时都会读取全部的文件然后再进行操作,因为R是基于内存进行计算的. data <- read.table("C:\\Users\\Hider\\Desktop\ ...

  9. vue进阶:vue-router(vue路由)的安装与基本使用

    vue路由安装与基本使用 vue嵌套路由 vue动态路由(路由组件传参) vue路由重定向和一些其他的路由相关 官方手册:https://router.vuejs.org/zh/ 一.vue路由安装与 ...

  10. JVM垃圾回收那些事

    Java这种VM类跨平台语言比起C++这种传统编译型语言很大的区别之一在于引入了垃圾自动回收机制.自动垃圾回收大大提高了Java程序员的开发效率并且极大地减少了犯错的概率,但终归而言由于无法像C++程 ...