2011-03-09 4 views
0

ASP.NET MVC 2 웹 응용 프로그램에서 업로드 파일을 처리하려고하는데 오류가 있습니다. 필요한 위조 토큰이 제공되지 않았거나 유효하지 않습니다.FileUplaod : 위조 토큰이 제공되지 않았거나 유효하지 않습니다.

내 영문 코드가있다 :

<% using (Html.BeginForm("ImportFile", "Suivi", FormMethod.Post, new { enctype = "multipart/form-data" })) 
{ %> 
    <input type="file" id="fileUpload" name="fileUpload" /> 
    <input type="submit" value="Import" /> 
<% } %> 

그리고 내 방법 내 컨트롤러가 :

[HttpPost] 
    [ValidateAntiForgeryToken] 
    public ActionResult ImportFile(HttpPostedFileBase fileUpload) 
    { 
     if(fileUpload == null) 
     { 
      //Process files 
     } 
     return View(); 
    } 

을 그리고 거기에 오류 스택입니다 :

A required anti-forgery token was not supplied or was invalid. 
at System.Web.Mvc.ValidateAntiForgeryTokenAttribute.OnAuthorization(AuthorizationContext filterContext) 
at System.Web.Mvc.ControllerActionInvoker.InvokeAuthorizationFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor) 
at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) 

은 어디입니다 내 문제 ?

건배

Skilpit

답변

1

귀하의 컨트롤러 액션은 (는) 토큰 유효성을 검사 할 것이라는 점을 의미 [ValidateAntiForgeryToken] 속성으로 장식되어 있습니다. 따라서 Html.AntiForgeryToken 도우미를 사용하여이 토큰을 양식에 포함시켜야합니다.

<% using (Html.BeginForm("ImportFile", "Suivi", FormMethod.Post, new { enctype = "multipart/form-data" })) 
{ %> 
    <%= Html.AntiForgeryToken() %> 
    <input type="file" id="fileUpload" name="fileUpload" /> 
    <input type="submit" value="Import" /> 
<% } %> 
관련 문제