2012-04-05 20 views
1

Ich versuche, eine einzelne CSV-Datei in ASP.NET MVC hochzuladen. In meiner ASCX-Datei, die ich habe:HttpPostedFileBase gibt null zurück

 <div>   
      <input type="file" name="file" id="file" /> 
      &nbsp &nbsp 
      <input type="submit" name="btnSubmit" id="btnSubmit" value="Upload" /> 
     </div> 

Die Controller-Aktion ist:

public ActionResult Upload(HttpPostedFileBase file) 
     { 
      if (file.ContentLength > 0) 
      { 
       var fileName = Path.GetFileName(file.FileName); 
       var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName); 
       file.SaveAs(path); 
      } 
      return View(); 
     } 

Das Problem ist, dass ich immer Datei als Null in der Upload-Aktion erhalten. Irgendwelche Vorschläge, wie man das funktioniert?

+0

Ist das Problem in IE passieren, FireFox und anderen Browsern oder ist es isoliert nur ein Browser? Mit ein paar Uploads habe ich in IE getan HttpPostedFileBase funktioniert aber in Mozilla/Webkit muss ich die Datei aus dem Request.InputStream lesen –

Antwort

4

Sind Sie sicher, dass Sie eine

<form enctype="multipart/form-data" method="post"> 
<div> bla bla 
</div> 
</form> 

haben?

Edit: method = "post"

+

[HttpPost] 

auf Ihrer Aktion

+0

Ja, ich habe dies:

GoldenUser