Проблемы с загрузкой файла ASP.NET MVC3. XML-файл для модели - PullRequest
0 голосов
/ 02 марта 2012

Я пытаюсь загрузить XML-файл на свой сайт.Однако независимо от того, какой файл я пытаюсь загрузить, элемент HttpPostedFileBase в моем коде равен нулю.Я не понимаю, почему это так.Я следовал всем примерам загрузки файлов, и это не имеет никакого смысла.Это метод контроллера

[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:

@{
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" />

}

1 Ответ

2 голосов
/ 02 марта 2012

У него неправильное имя. Аргумент действия называется xmlFile, тогда как входные данные вашего файла называются file. Вы должны быть последовательны в своих соглашениях об именах:

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

Я также приглашаю вас ознакомиться с блогом Фила Хаака на эту тему.

...