ASP.NET之Panel控件、FileUpload 控件

Panel控件:

Panel控件是一個容器控件,可以將它用作靜態文本和其他控件的父級。

它有如下常見屬性:

屬性 類型 說明
BackImageUrl string 規定顯示控件背景的圖像文件的 URL。
DefaultButton string 規定 Panel 中默認按鈕的 ID。
Direction string 規定 Panel 的內容顯示方向。
GroupingText string 規定 Panel 中控件組的標題。
HorizontalAlign string 規定內容的水平對齊方式。
runat string 規定控件是服務器。必須設置爲 “server”。
ScrollBars string 規定 Panel 中滾動欄的位置和可見性。
Wrap bool 規定內容是否折行。

aspx控件代碼:

 <asp:Panel runat="server"></asp:Panel>

FileUpload 控件

FileUpload 控件是一個很重要的控件,它被 Web 服務器最終解釋爲形如 input type=”file” 這樣的普通 HTML 控件。

它有如下常見屬性:

屬性 類型 說明
FileBytes byte[] 上傳的文件內容的字節數組表示形式
FileContent Stream 上傳文件的數據流
FileName string 上傳文件在客戶端的名字
HasFile bool 指示是否上傳了文件
PostedFile HttpPostedFile 獲取文件基礎的 HttpPostedFile 對象,裏面也有一些屬性
PostedFile.ContentLength int 上傳的文件內容的字節長度
PostedFile.ContentType string 上傳文件的 MIME 內容類型
PostedFile.FileName string 上傳文件的在客戶端的名字
PostedFile.InputStream Stream 指向上傳文件的 Stream 對象

FileUpload 控件還有一個 void SaveAs (string filename)的方法,這個方法用於將上傳文件保存到服務器上,一般來說,使用FileUpload控件上傳文件一般有如下幾個步驟:

  1. 利用HasFile屬性判斷是否上傳了文件。
  2. 在服務器上指定一個物理路徑,並檢查這個物理路徑是否存在,如果不存在先創建。
  3. 指定上傳文件在服務器上的上傳路徑,利用Save()保存上傳的文件,這一步還可以做一些其它檢查工作,比如檢查上傳的文件是否符合要求或文件內容大小是否符合要求。
  4. 將相對路徑或者URL地址保存起來,以便客戶訪問下載。

注意:上傳文件大小限制在Web.config文件的httpRuntime項添加maxRequestLength="102400"

aspx控件代碼:

<asp:FileUpload ID="fileUpload" runat="server" />
<asp:Button ID="btnUpload" runat="server" OnClick="btnUpload_Click" Text="上傳" />
<asp:Literal ID="literal" runat="server"></asp:Literal>

aspx.cs控件邏輯代碼:

protected void btnUpload_Click(object sender, EventArgs e)
        {
            //判斷是否上傳了文件
            if (fileUpload.HasFile)
            {
                //指定上傳文件在服務器上的保存路徑
                string savePath = Server.MapPath("~/upload/");
                //是否存在路徑,如果不存在則創建
                if (!System.IO.Directory.Exists(savePath))
                {
                    //需要對這個路徑有足夠的權限,否則會報錯
                    System.IO.Directory.CreateDirectory(savePath);
                }
                //獲取文件名
                savePath = savePath + "\\" + fileUpload.FileName;
                //保存文件
                fileUpload.SaveAs(savePath);
                //渲染ID literal
                literal.Text = string.Format(
                    "<p>文件下載:<a href='upload/{0}'>upload{0}</a>" +
                    "</p><p>文件大小:{1}字節</p>" +
                    "</p><p>文件名稱:{0}</p>", 
                    fileUpload.FileName, fileUpload.PostedFile.ContentLength
                );
            }
        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章