Как обрабатывать ввод файлов в ASP.NET MVC2 - PullRequest
0 голосов
/ 02 ноября 2010

Поскольку нет помощника для ввода файла , как мы можем безопасно обрабатывать ввод файла?

Если лучше просто иметь кнопку

<input type="button" value="Upload File" />

и обработать это в новой всплывающей странице / окне?

у меня будет

<input type="file" value="Upload File" />

, но как мне обработать это в коде?

#region General
//
// GET: /Content/General
public ActionResult General()
{
    GeneralModel model = new GeneralModel();
    return View(model);
}

[HttpPost]
public void General(GeneralModel model)
{

}

#endregion

Модель не будет заполнена файлом, поэтому мне нужно заняться чем-то другим ... просто не знаю, что: (

Любая помощь очень ценится.

Спасибо.

1 Ответ

1 голос
/ 02 ноября 2010

У ввода должно быть имя:

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

Затем для обработки загруженного файла вы можете добавить свойство к вашей модели представления:

public class GeneralModel
{
    // The name of the property corresponds to the name of the input
    public HttpPostedFileBase File { get; set; }
    ...
}

и, наконец, в вашем контроллере обработайте загрузку файла:

[HttpPost]
public void General(GeneralModel model)
{
    var file = model.File;
    if (file != null && file.ContentLength > 0)
    {
        // The user selected a file to upload => handle it
        var fileName = Path.GetFileName(file.FileName);
        var path = Path.Combine(Server.MapPath("~/App_Data/Uploads"), fileName);
        file.SaveAs(path);
    }
    return View(model);    
}

Фил Хаак написал в блоге о загрузке файлов в ASP.NET MVC.

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