2012-03-01 8 views
0

私のサイトにXMLファイルをアップロードしようとしています。しかし、アップロードしようとするファイルに関係なく、コード内のHttpPostedFileBase要素はnullです。私はなぜこれが理解できません。私はファイルをアップロードする際に見つけることができるすべての例に従っており、意味をなさないと思われます。ファイルASP.NET MVC3のアップロードに問題があります。 XMLファイルをモデル

@{ 
ViewBag.Title = "Upload"; 
} 

@using (Html.BeginForm("UploadFile", "Home", FormMethod.Post, new { enctype = "multipart/form-data" })) 
{ 
<input type="file" name="file" /> 
<input type="submit" value="OK" /> 

} 

答えて

2

それは間違った名前があります。これは、コントローラのメソッド

[HttpPost] 
    public ActionResult UploadFile(HttpPostedFileBase xmlFile) 
    { 
     if (xmlFile != null && xmlFile.ContentLength > 0) 
     { 
      XmlDocument xmlDoc = new XmlDocument(); 
      xmlDoc.Load(xmlFile.InputStream); 
      // other logic later 
      return RedirectToAction("Index"); 
     } 
     return RedirectToAction("UploadFailed");  
    } 

とCSHTMLです。アクションの引数はxmlFileとなりますが、ファイルの入力はfileとなります。あなたの命名規則で一貫している必要があります。

<input type="file" name="xmlFile" /> 

私もフィル・ハークのblog postこのテーマに関するをチェックアウトすることを勧めます。

+0

ありがとう。本当に愚かな間違い。 – Bonnotbh

関連する問題