2013-09-13 5 views
0

Я просто попытался это, но не работает, в чем проблема в нем,загрузка файлов в MVC 4

указательного страница:

@{ 
ViewBag.Title = "Index"; 
} 

    @using (Html.BeginForm("Upload", "Home", FormMethod.Post, new { enctype = "multipart/from- data" })) 
    { 
     <div> 
     <h1 style="align-content: center; color: blueviolet">Application to upload files</h1> 
     </div> 
     <div> 
     <input type="file" id="file" name="file" /> 
     <br /> 
     <input type="submit" id="load" name="submit" value="Submit" /> 
     </div> 

     } 

И мой контроллер,

    [HttpPost] 
    public ActionResult Upload() 
    { 
     string path = @"~/Content/Upload"; 

     HttpPostedFileBase file = Request.Files["file"]; 

     if (file != null) 
      file.SaveAs(path + file.FileName); 

     return Content("Sucess"); 
    } 
+0

"Это не работает". Что не работает? Какую ошибку вы получаете? Что именно вы пытаетесь выполнить с помощью своего кода? –

+2

'' mulitipart/from- data "' выглядит не совсем правильно. Попробуйте '' multipart/form-data '' – Stijn

+0

Я попробовал« multipart/from-data », не работал, на самом деле ошибка является ссылкой Object, не установленной в экземпляр объекта, когда я загружаю файл и передаю значение для контроллера значение файла в контроллере равно NULL. –

ответ

1

Путь, который вы пытаетесь сохранить файл, выглядит неправильно. Попробуйте с MapPath:

[HttpPost] 
public ActionResult Upload(HttpPostedFileBase file) 
{ 
    string path = Server.MapPath("~/Content/Upload"); 
    if (file != null) 
    { 
     file.SaveAs(Path.Combine(path, file.FileName)); 
    } 

    return Content("Sucess"); 
} 

Кроме того, убедитесь, что вы использовали правильный атрибут enctype в форму:

enctype = "multipart/form-data" 

вместо:

enctype = "multipart/from- data" 
Смежные вопросы