2014-12-29 2 views
-1

. 이것은 내가 파일을 업로드 할 때MVC 업로드 파일 BeginForm HTTPPOST 나는 CSV 데이터를 였는지를 내 컨트롤러에 파일을 업로드하기 위해 노력하고있어

[Authorize] 
public ActionResult AddManyDevices() 
{ 
    return View(); 
} 

[HttpPost] 
public void AddManyDevices(HttpPostedFileBase FileUpload) 
{ 
    StreamReader csvreader = new StreamReader(FileUpload.InputStream); 

    while (!csvreader.EndOfStream) 
    { 
     var line = csvreader.ReadLine(); 
     var values = line.Split(';'); 
    } 
} 

그러나 POST 내 HomeController에서, 하나의 방법은보기를 반환하는 방법을 하나의 HTTP를 처리 할 수있다

@using (Html.BeginForm("AddManyDevices", "Home", FormMethod.Post, new {@enctype = "multipart/form-data" })) 
{ 
    <input id="FileUpload" name="FileUpload" type="file" /> 
    <input id="subButton" type="submit" value="FileUpload" class="btn btn-success" title="Upload File" /> 
} 

:

내 MVC 면도기보기에 HTTP POST AddManyDevices이 호출되지 않습니다. 무엇을 잘못하고 있습니까?

+1

@Lanorkin 아래, 즉 반드시 사실이 아니다처럼 사용하십시오. 'ActionInvoker'는 자동적으로'void' 메소드로부터'EmptyResult'를 리턴합니다. – haim770

+0

지금은 반환 값이 필요 없으며 메서드가 호출되지 않습니다. void에서 ActionResult로 변경하면 문제가 해결되지 않습니다. –

+1

내 응용 프로그램에서 코드를 시도했지만 귀하의 작업이 호출되고 있습니다. – SeeTheC

답변

1

@enctype = "multipart/form-data"

에서 @ 기호를 제거하고

@using (Html.BeginForm("AddManyDevices", "Home", FormMethod.Post, new { enctype = "multipart/form-data" })) 
관련 문제