C# ASP.NET FILEUPLOAD詳解


顯示一個文本框控件和一個瀏覽按鈕,使用戶可以選擇要上載到服務器的文件。 命名空間: System.Web.UI.WebControls 
程序集: System.Web(在 system.web.dll 中) 
實例: 
html代碼:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="inputfile._Default" %> 
<!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 runat="server"> 
        <title>無標題頁</title> 
        <script language="javascript" type="text/javascript"> 
// <!CDATA[]> 
</script> 
        <style type="text/css"> 
                .style1 
                { 
                        text-align: center; 
                } 
                #form1 
                { 
                        text-align: center; 
                } 
        </style> 
</head> 
<body> 
        <form id="form1" runat="server" method="post" enctype="multipart/form-data"> 
        <div style="position:static;"> 
                <div class="style1"> 演示文件上傳控件</div> 
        <hr style="width:80%" /> 
                <div class="style1">  
                <asp:FileUpload ID="File1" runat="server"/> 
                <asp:Button ID="UploadBtn" runat="server" onclick="Button1_Click" Text="上傳" /> 
                </div> 
        </div> 
        <asp:Label ID="Label1" runat="server" 
                Width="437px" Height="61px"></asp:Label> 
        </form> 
</body> 
</html>

 

 

后台代碼:

using System; 
using System.Collections; 
using System.Configuration; 
using System.Data; 
using System.Linq; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.HtmlControls; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Xml.Linq; 
 
namespace inputfile 

       public partial class _Default : System.Web.UI.Page 
        { 
               protected void Page_Load(object sender, EventArgs e) 
                { 
 
               } 
 
                protected void Button1_Click(object sender, EventArgs e) 
                {

                        //獲取文件信息 
                        string FileName = File1.PostedFile.FileName; 
                        string file_str = "文件名稱:" + FileName + "<br>"; 
                        file_str="文件類型:"+File1.PostedFile.ContentType+"<br>"; 
                        file_str="文件長度:"+File1.PostedFile.ContentLength.ToString()+"KB<br>"; 
                        //上傳文件到服務器 
                        FileName = FileName.Substring(FileName.LastIndexOf("\\") + 1);// 取出文件名的路徑(不包括文件的名稱) 
                        string upload_file = Server.MapPath("./upload/") + FileName;//取出服務器虛擬路徑,存儲上傳文件 
                        File1.PostedFile.SaveAs(upload_file);//開始上傳文件 
                        Label1.Text =file_str+ "上傳文件成功"; 
                } 
        } 
}

常用屬性:

(1)FileUpload1.HasFile用來檢查 FileUpload是否有指定文件。

(2)HttpContext.Current.Request.MapPath("~/") 則是獲取網站所在的磁盤絕對路徑的,

        如D:\Inetpub\ServerControls\路徑,之所以要這么做,是因為FileUpload控件必須指定“絕對路徑”,

        而非相對路徑,同時絕對路徑也必須有寫入權限。

(3)FileUpload1.SaveAs()則是將上傳文件存儲在磁盤的方法。

(4)FileUpload1.FileName用於獲取上傳文件名稱。

(5)FileUpload1.PostedFile.ContentLength 用於設置或獲取上傳文件大小,以Byte為單位。

(6)FileUpload1.PostedFile.ContentType 用於設置或獲取上傳文件的類型 
實例效果圖: 
 
上傳完成: 

 


免責聲明!

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



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