.NET Core 如何上傳文件及處理大文件上傳


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超大文件上傳與下載/



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM