首页 > 编程语言 >C#实现大文件上传

C#实现大文件上传

时间:2023-08-14 18:12:33浏览次数:26  
标签:文件 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。在使用前需要配置一下数据库

​编辑

​编辑

​编辑

​编辑

 

视频演示:

 

windows控件安装,,linux-deb控件包安装,linux-rpm控件包安装,php7测试,php5测试,vue-cli-测试,asp.net-IIS测试,asp.net-阿里云(oss)测试,asp.net-华为云(obs)测试,jsp-springboot测试,ActiveX(x86)源码编译,ActiveX(x64)源码编译,Windows(npapi)源码编译,macOS源码编译,Linux(x86_64)源码编译,Linux(arm)源码编译,Linux(mips-uos)源码编译,Linux(mips-kylin-涉密环境)源码编译,sm4加密传输,压缩传输,

示例下载地址

源代码文档

asp.net源码下载jsp-springboot源码下载jsp-eclipse源码下载jsp-myeclipse源码下载php源码下载csharp-winform源码下载vue-cli源码下载c++源码下载

详细配置信息及思路

标签:文件,Web,C#,System,源码,using,上传,cbMgr
From: https://www.cnblogs.com/songsu/p/17629382.html

相关文章

  • Anaconda使用教程
    参考:https://zhuanlan.zhihu.com/p/348120084下载Anaconda下载地址https://www.anaconda.com/https://repo.anaconda.com/archive/Anaconda3-2023.07-2-Windows-x86_64.exe双击安装,一直下一步等待安装完成,添加环境变量使用以下语句创建一个新的环境变量,新的环境变量......
  • 系统的glibc版本不符合安装要求
    原因是因为系统的glibc版本不符合安装要求,可以对glibc进行升级。下载响应安装包:http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz。解压:tarxvfglibc-2.14.tar.gz进入glibc-2.14目录:cdglibc-2.14创建build文件夹:mkdirbuild进入build目录:cdbuild执行:../configure--prefix=/op......
  • 系统的glibc版本不符合安装要求
    原因是因为系统的glibc版本不符合安装要求,可以对glibc进行升级。下载响应安装包:http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz。解压:tarxvfglibc-2.14.tar.gz进入glibc-2.14目录:cdglibc-2.14创建build文件夹:mkdirbuild进入build目录:cdbuild执行:../configure--prefix=/op......
  • # yyds干货盘点 # 盘点一个Python自动化办公的实战案例——批量合并Excel文件(上篇)
    大家好,我是皮皮。一、前言前几天在Python星耀群【维哥】问了一个Python自动化办公处理的问题,一起来看看吧。大佬们好,请教一个Python自动化办公的问题,我有一个文件夹,里边有多个Excel文件,分别是员工8月份绩效表格,每一个表格里边都是固定的两列,分别是日期和绩效得分,如下图所示:现在他想......
  • 使用Navicate 登录SQL server时 报错 建立连接时出现与网络相关的或特定于实例的错误
    1.先查看是否允许远程连接:右键-属性-连接-允许远程连接到此服务器2.若不行的话,再检查SqlServer网络配置里面的SQLEXPRESS的协议-TCP/IP是否启用;3.启用TCP/IP协议之后,右键-属性-IP地址-找到本机ip-设置1433端口......
  • JDBC之常规插入,Statement和PreparedStatement批处理时间问题
    已经封装好的通用的批处理语句:importjava.io.FileNotFoundException;importjava.io.FileReader;importjava.io.IOException;importjava.sql.*;importjava.util.Properties;/**是一个工具类:作用:用于封装通用的获取连接、通用的增删改、通用的查询版本:v0.0.0.1方法:ge......
  • 漏洞复现报告:CVE-2020-2551 IIOP反序列化漏洞
    1.漏洞描述: 2020年1月15日,Oracle发布了一系列的安全补丁,其中OracleWebLogicServer产品有高危漏洞,漏洞编号CVE-2020-2551,CVSS评分9.8分,漏洞利用难度低,可基于IIOP协议执行远程代码。Weblogic是一个服务器,可以做web服务器也可以做应用服务器WebLogic是美国Oracle公司出品的......
  • openLDAP之ACL
    accesstoattrs=userPassword    bydn.subtree="ou=admingroup"read    byselfwrite    byanonymousauth    by*noneaccesstodn.subtree="cn=org"    bydn.subtree="cn=org"read    bydn.subtree="......
  • LeetCode 198.打家劫舍
    1.题目:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜......
  • LeetCode 213.打家劫舍II
    1.题目:你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。给定一个代表每个房屋存......