HttpPostedFile類


在研究HttpRequest的時候,搞文件上傳的時候,經常碰到返回HttpPostedFile對象的情況,這個對象才是真正包含文件內容的東西。

經常要獲取的最重要的內容是FileName屬性與SavaAs方法,現在我們來詳細看看這個東西。

一、常用屬性

  1. ContentLength: 獲取上載文件的大小(以字節為單位)。返回一個數字。
  2. ContentType獲取客戶端發送的文件的 MIME 內容類型。
  3. FileName: 獲取客戶端上的文件的完全限定名稱。
  4. InputStream:獲取一個 Stream 對象,該對象指向一個上載文件,以准備讀取該文件的內容。

二、常用方法

  1. SaveAs  保存上載文件的內容。 可以服務器物理路徑作為參數。

  代碼示例:

  注意表單要加上enctype = "multipart/form-data",后台FileCollect.Count才不會為0。如:

<form action="/Home/GetForm" method="post" enctype="multipart/form-data">
    <p><input type="file" name="file1" value="" /></p>
    <p><input type="file" name="file2" value="" /></p>
    <p><input type="submit" value="提交" /></p>
</form>

   后台代碼:

        public ActionResult GetForm()
        {
            HttpRequest request = System.Web.HttpContext.Current.Request;
            HttpFileCollection FileCollect = request.Files;   
            if (FileCollect.Count > 0)          //如果集合的數量大於0
            {
                foreach (string str in FileCollect)
                {
                    HttpPostedFile FileSave = FileCollect[str];  //用key獲取單個文件對象HttpPostedFile
                    string imgName = DateTime.Now.ToString("yyyyMMddhhmmss");
                    string imgPath = "/" + imgName + FileSave.FileName;     //通過此對象獲取文件名
                    string AbsolutePath = Server.MapPath(imgPath);
                    FileSave.SaveAs(AbsolutePath);              //將上傳的東西保存
                    Response.Write("<img src='" + imgPath + "'/>");
                }
            }
            return Content("鍵值對數目:" + FileCollect.Count);
        }

 


免責聲明!

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



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