Диалог загрузки файла MVC 3

Я думаю, что эти теги в значительной степени говорят о том, о чем я спрашиваю.

Я боролся с загрузкой файлов. Мне нужно открыть диалоговое окно для загрузки файла и сохранить его в базе данных, так что ничего особенного. Базовую загрузку файлов сделать более чем просто. Просто сформируйте с правильным шифрованием и типом файла ввода. Но когда я вставляю свою форму в диалог, что-то идет не так, и в Post ничего нет. Я попытался добавить параметры теста, такие как имя файла, и это сработало нормально. Но самого файла в посте нет.

вот код:

Форма:

@using (Html.BeginForm("Edit", "Home", FormMethod.Post, 
         new { enctype = "multipart/form-data" })){
<label for="Name">Filename: </label>
<input type="text" name="name" id="name"/>  
<input type="file" name="file" id="file" />

<input type="submit"/>
}

Контроллер:

public ActionResult Edit(Attachment model)
    {
        var strLen = Convert.ToInt32(model.file.InputStream.Length);
        var strArr = new byte[strLen];
        model.file.InputStream.Read(strArr, 0, strLen);

        return View();
    }

Редактировать:

Модель:

public class Attachment
{
    public string Name { get; set; }
    public HttpPostedFileBase file{ get; set; }

}

Эта форма находится внутри диалога.


person Roggo    schedule 04.08.2011    source источник


Ответы (1)


Попробуй это,

public ActionResult Edit(HttpPostedFileBase file)
    {
       ////
        return View();
    }
person Jayantha Lal Sirisena    schedule 04.08.2011
comment
о, эта модель уже включает этот файл. Проблема в том, что в POST нет содержимого файла (проверено с помощью firebug) - person Roggo; 04.08.2011