MVC - загрузка файла - PullRequest
       4

MVC - загрузка файла

3 голосов
/ 11 января 2011

Привет ... У меня есть контроль загрузки на мой взгляд.Есть ли способ связать этот элемент управления с данными модели (что-то вроде LabelFor или TextBoxFor).Мне это нужно, потому что при загрузке страницы я теряю информацию в элементе управления загрузкой файлов Thx

Ответы [ 2 ]

8 голосов
/ 23 августа 2011

HTML-файл загрузки ASP MVC 3.

Модель : ( Обратите внимание, что FileExtensionsAttribute доступен в MvcFutures. Он будет проверять расширения файлов на стороне клиента исторона сервера. )

public class ViewModel
{
    [Required, Microsoft.Web.Mvc.FileExtensions(Extensions = "csv", ErrorMessage = "Specify a CSV file. (Comma-separated values)")]
    public HttpPostedFileBase File { get; set; }
}

HTML-представление :

@using (Html.BeginForm("Action", "Controller", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    @Html.TextBoxFor(m => m.File, new { type = "file" })
    @Html.ValidationMessageFor(m => m.File)
}

Действие контроллера :

[HttpPost]
public ActionResult Action(ViewModel model)
{
    if (ModelState.IsValid)
    {
        // Use your file here
        using (MemoryStream memoryStream = new MemoryStream())
        {
            model.File.InputStream.CopyTo(memoryStream);
        }
    }
}
0 голосов
/ 11 января 2011

Да, используйте класс HttpPostedFileBase для типа свойства, и он будет связываться так же, как и любое другое свойство.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...