首页 > 编程语言 >c#文件分片上传,断点续传

c#文件分片上传,断点续传

时间:2022-12-02 15:26:18浏览次数:67  
标签:断点续传 Web c# System 源码 分片 using 上传 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。在使用前需要配置一下数据库

示例下载地址:asp.net源码下载jsp-springboot源码下载jsp-eclipse源码下载jsp-myeclipse源码下载php源码下载csharp-winform源码下载vue-cli源码下载c++源码下载

详细配置信息及思路


标签:断点续传,Web,c#,System,源码,分片,using,上传,cbMgr
From: https://www.cnblogs.com/zyzzz/p/16944546.html

相关文章

  • OpenCV4之C++入门详解
    OpenCV4之C++入门详解1、VisualStudio安装及环境配置与搭建1.下载地址:https://my.visualstudio.com/Downloads?q=Visual,下载后按照说明安装即可登录账号下载即可,建议下......
  • 监视属性watch
    1.当被监视的属性变化时,回调函数自动调用,进行相关操作2.监视的属性必须存在,才能进行监视3.自定义属性和计算属性都可以被监听深度监视:(1)vue中的watch默认不检测对象内部值的......
  • [ACTF新生赛2020]crypto-classic0
    打开压缩包里面有三种文件: hint文件内容:哼,压缩包的密码?这是小Z童鞋的生日吧== cipher文件内容:Ygvdmq[lYate[elghqvakl} howtoencrypt是一个加密的压缩......
  • 数据库面试题--Mycat
    Mycat1.Mycat是什么?2.什么叫混合切分3.在项目组中,切分后的库从哪里而来?4.搭建mycat的核心配置文件有哪些?5.mycat分库可以分成100个库吗?6.进行库表拆分时,拆分规则怎......
  • GPIO软件模拟i2c
    结构及宏定义structi2c{unsignedintscl;unsignedintsda;};#defineI2C_ACK0/*PD_SDAleveltoackabyte*/#defineI2C_......
  • vue3新增知识点(组合式API、ref和reactive、响应式原理、setup、watch和watchEffect)持
    1.组合式API和声明式API的区别,组合式API的优点2.Vue3的响应式原理通过Proxy(代理):拦截对象中任意属性的变化:包括:属性值的读写、属性的添加、属性的删除等。通过reflect(反射):......
  • .NET CORE读取自定义配置文件到Configuration中
    微软只提供了以下可以读取配置的方式,其中文件配置只能读取INI、JSON和XML文件,如果我想对其他自定义文件进行读取,那么我们可以使用自定义配置提供程序进行配置  比如,......
  • Springboot 整合 SpringCache 使用 Redis 作为缓存
    一直以来对缓存都是一知半解,从没有正经的接触并使用一次,今天腾出时间研究一下缓存技术,开发环境为OpenJDK17与SpringBoot2.7.5源代码下载地址:https://hanzhe.lanzoue.com/i......
  • JAVA面试题--Docker
    Docker1.什么Docker2.Docker与虚拟机有何不同3.什么是Docker镜像4.什么是Docker容器5.Docker容器有几种状态6.DockerFile中最常见的指定是什么?7.DockerFile中的命......
  • VCenter的VCSA6.7安装指南
    Linux和Windows下的两个版本Linux版本:VMware-VCSA-all-6.7.0-8217866.iso执行安装程序直接在Windows系统上,安装完成后会在ESXI6.7中形成新的Linux虚拟机。执行安装程序的......