首页 > 编程语言 >用asp.net 实现断点续传 (HTTP)

用asp.net 实现断点续传 (HTTP)

时间:2022-11-14 15:22:08浏览次数:71  
标签:function 断点续传 asp Web System using net 上传 cbMgr

HTML部分 

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

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

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

<head>

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

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

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

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

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

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

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

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

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

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

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

    <script language="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><a href="db/clear.aspx" target="_blank">清空数据库</a></p>

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

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

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

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

    <p>

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

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

    </p>

    <p>

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

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

    </p>

     <div id="FilePanel"></div>

    <div id="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。在使用前需要配置一下数据库

示例下载地址:https://gitee.com/xproer/asp-net/tree/6.5.38/

详细配置信息及思路

欢迎入群一起讨论:374992201

标签:function,断点续传,asp,Web,System,using,net,上传,cbMgr
From: https://www.cnblogs.com/zyzzz/p/16889119.html

相关文章

  • C# vs2019 MSB3644 找不到 .NETFramework,Version=v4.6.2 的引用程序集
    一、前言 从github上clone了Dapper的项目,想来学习学习,F6生成的时候,提示MSB3644找不到.NETFramework,Version=v4.6.2的引用程序集的错误二、解决方案1.百度......找......
  • HTTP Error 500.31 - Failed to load ASP.NET Core runtime
    使用ASP.NETCoreDiagnosticsforIIS/IISExpressCannotlocateruntimeconfigfileHttpApi.Host\HttpApi.Host.runtimeconfig.json HTTPError500.31-Failedt......
  • .net 温故知新:【9】.NET日志记录 ILogger使用和原理
    .net温故知新:【9】.NET日志记录ILogger使用和原理 日志日志作为我们程序记录的“黑匣子”不论什么系统都应该使用到的,比如我们经常使用的log4net就是第三方日志记......
  • ASP.NET Core中选项的应用和总结
    在前面的文章中,我们介绍过将appsetting等配置文件映射到实体的的方式https://www.cnblogs.com/fei686868/p/16779249.html这里呢,我们介绍关于选项的另一种用法,就是通过IOp......
  • VMware Aria Operations for Networks 6.8 - 网络和应用监控工具
    请访问原文链接:VMwareAriaOperationsforNetworks6.8-网络和应用监控工具,查看最新版。原创作品,转载请保留出处。作者主页:www.sysin.orgVMwareAriaOperationsfo......
  • 用jsp 实现断点续传 (HTTP)
    ​1、介绍enctypeenctype 属性规定发送到服务器之前应该如何对表单数据进行编码。enctype作用是告知服务器请求正文的MIME类型(请求消息头content-type的作用一样)1、1......
  • k8s工作原理(chrono《kubernetes入门实战课》笔记整理)
     【架构理解】k8s可以编排容器,也可以对服务器进行监管。在k8s,不会区分dev(开发人员)和ops(运维人员),而是devops(提倡开发时就要考虑运维,运维也要尽早开始考虑如何对应用进行运......
  • DB2 .NET Data Provider, reason code 10
    最近使用DB2.NETDataProvider访问DB2报了reasoncode10,解决废了很大力气,记录一下错误现象:SQL1159InitializationerrorwithDB2.NETDataProvider,reasoncode......
  • 【NET微服务】微服务简介
    一、什么是微服务微服务是一种架构风格,它要求我们在开发一个应用的时候,这个应用必须构建成一系列小服务的组合;可以通过http的方式进行互通。二、单体应用架构所谓单体应......
  • .net网络请求
    varhttpClient=newHttpClient();//实例化一个请求对象httpClient.DefaultRequestHeaders.Add("Authorization","eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.......