ASP.NET MVC处理文件上传的小例子

时间:2022-09-17 08:23:08

代码如下:


<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">   
 
<h2>Files uploaded to server</h2>   
 
<div id="dialog" title="Upload files">     
  <% using (Html.BeginForm("Upload", "File", FormMethod.Post, new 

 

{ 

enctype = "multipart/form-data" 

}

)) 
  {%>

<br /> 
    <p><input type="file" id="fileUpload" name="fileUpload" size="23"/> ;</p><br /> 
    <p><input type="submit" value="Upload file" /></p>     
  <% } %>   
</div> 
<a href="#" onclick="jQuery('#dialog').dialog('open'); return false">Upload File</a> 
</asp:content> 


然后,我们需要根据BeginForm中FileController和action(Upload)在指定的Controller中处理请求,参考如下代码: 

复制代码代码如下:


public void Upload( 
{ 
foreach (string inputTagName in Request.Files) 
{ 
HttpPostedFileBase file = Request.Files[inputTagName]; 
if (file.ContentLength > 0) 
{ 
string filePath = Path.Combine(HttpContext.Server.MapPath("../Uploads") 
, Path.GetFileName(file.FileName)); 
file.SaveAs(filePath); 
} 
} 
 
RedirectToAction("Index", "File"); 
}