FileUpload文件上傳控件

1.FileUpload控件的主要功能是向指定目錄上傳文件。FileUpload控件不會自動上傳控件,而需要設置相關的事件處理程序,然後在程序中實現文件上傳。

2.FileUpload控件常見的屬性

FileBytes:獲取上傳文件的字節數組;

FileContent:獲取指向上傳文件的Stream對象;

FileName:獲取上傳文件在客戶端的名稱;(僅獲取文件名稱)

HasFile:獲取一個布爾值,用於表示FileUpload控件是否已經包含一個文件;

PostedFile:使用該對象可以獲取上傳文件的相關屬性;(ContentLength上傳文件的大小,ContentType文件類型,FileName獲得上傳文件在客戶端的完整路徑

3.FileUpload控件常用方法

SaveAs(String filename)-----------參數filename是指保存在服務器中的上傳文件的絕對路徑,在調用SaveAs方法之前,先判斷HasFile屬性是否爲true

4.使用FileUpload控件上傳圖片文件


前端
<asp:FileUpload ID="FileUpload1" runat="server" />
        <asp:Button ID="Button1" runat="server" Text="上傳" OnClick="Button1_Click" /><br /><br />
        <asp:Image ID="Image1" runat="server" /><br /><br />
        <asp:Label ID="Label1" runat="server" Text="Label">
</asp:Label>

protected void Button1_Click(object sender, EventArgs e)
    {
        bool files = false;
        if (this.FileUpload1.HasFile)
        {
            //獲取上傳文件的後綴
            String fileExtension = System.IO.Path.GetExtension(this.FileUpload1.FileName).ToLower();
            String[] restrictExtension = { ".gif", ".jpg", ".bmp", ".png" };
            //判斷文件類型是否符合
            for (int i = 0; i < restrictExtension.Length; i++)
            {
                if (fileExtension == restrictExtension[1])
                {
                    files = true;
                }
            }
            //調用SaveAs方法實現上傳
            if (files == true)
            {
                try
                {
                    this.Image1.ImageUrl = "~/image/" + FileUpload1.FileName;
                    this.FileUpload1.SaveAs(Server.MapPath("~/image/") + FileUpload1.FileName);
                    this.Label1.Text = "文件上傳成功";
                    this.Label1.Text += "<br/>";
                    this.Label1.Text += "<li>" + "原文件路徑:" + this.FileUpload1.PostedFile.FileName;
                    this.Label1.Text += "<br/>";
                    this.Label1.Text += "<li>" + "文件大小:" + this.FileUpload1.PostedFile.ContentLength + "字節";
                    this.Label1.Text += "<br/>";
                    this.Label1.Text += "<li>" + "文件類型:" + this.FileUpload1.PostedFile.ContentType;
                }
                catch
                {
                    this.Label1.Text = "文件上傳不成功";
                }
            }
            else
            {
                this.Label1.Text = "只能夠上傳後綴爲.gif、 .jpg、 .bmp、.png的文件夾";
            }
        }
    }

*上傳大文件主要修改Web.config文件來實現,在文件中添加httpRuntime節,在該節中修改兩個參數:maxRequestLength爲最大上傳容量,executionTimeout爲所響應的時間

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章