本文導(dǎo)讀:在MVC中實現(xiàn)文件上傳與傳統(tǒng)的WebForm上傳文件方法都差不多,在cshtml視圖頁面放一個file標簽,然后在actionname方法中處理用戶上傳的文件。下面簡單介紹MVC中上傳文件的方法。
創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、網(wǎng)站設(shè)計與策劃設(shè)計,邵原網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:邵原等地區(qū)。邵原做網(wǎng)站價格咨詢:18980820575
一、MVC中如何上傳文件
1、在Web Forms中,當你把一個FileUpload控件拖到設(shè)計器中,你或許沒有注意到在生成的HTML中會在form標簽中加入一條額外屬性 enctype="multipart/form-data". 而FileUpload控件本身會生成為,在MVC的view里,下列HTML可以做到同樣效果
HTML 代碼 復(fù)制
注意form標簽已經(jīng)包括了enctype標簽,而method屬性則設(shè)為”post”,這樣設(shè)置并不多于因為默認的提交時通過HTTP get方式進行
2、在Asp.net MVC中Controller類中,Request對象作為HttpRequestBase類型的一個屬性存在。HttpReuqestBase其實是 HTTP請求的一個封裝,暴漏了很多屬性,包括Files collection(其實是HttpFileCollectionBase的集合),在集合中的每一個元素都是HttpPostedFileBase的 集合,擴展方法是用于確保上傳的文件是否存在。實際上,這和FileUpload.HasFile()方法的工作原理一致。
二、MVC上傳文件的實例:
1、視圖文件
前臺引擎采用Razor
上傳頁View:
C# 代碼 復(fù)制
@model System.Web.HttpContextBase@{ ViewBag.Title = "上傳文件";}上傳文件
@*new { enctype = "multipart/form-data" }比不可少,否則上傳文件不會成功 *@ @using (Html.BeginForm("Upload", "UploadFile", FormMethod.Post, new { enctype = "multipart/form-data" })){選擇上傳文件:
}
2、后臺UploadFileController
C# 代碼 復(fù)制
[HttpPost] public ActionResult Upload(FormCollection form) { if (Request.Files.Count == 0) { //Request.Files.Count 文件數(shù)為0上傳不成功 Return View(); } var file = Request.Files[0]; if (file.ContentLength == 0) { //文件大小大(以字節(jié)為單位)為0時,做一些操作 Return View(); } else { //文件大小不為0 HttpPostedFileBase file = Request.Files[0]; //保存成自己的文件全路徑,newfile就是你上傳后保存的文件, //
分享標題:MVC中如何上傳文件
當前地址:http://weahome.cn/article/jsspoj.html