2016-07-05 3 views
1

업로드 상자를 SyncFusion에서 내 웹 응용 프로그램에 추가하려고합니다.업로드 이미지 웹 Api

<div id="targetElement"> 
       <div id="UploadDefault"></div> 
      </div> 

<script> 
    $(function() { 
     //Declaration 
     $("#UploadDefault").ejUploadbox({ 
      saveUrl: "/api/project/uploadimage" 
     }); 
    }); 
</script> 

그럼 내가 WebApi 컨트롤러 사용하여 추가 할 :

[HttpPost] 
     [Route("project/uploadimage")] 
     public async Task UploadFile(string fileName, string description) 
     { 
} 

을하지만 항상 HTTP 응답 얻을 :

가 요청 된 자원이 HTTP 메서드를 지원하지 않습니다 내가 업로드 박스를 추가 'POST'

답변

1

속성 라우팅이 project/uploadimage 인 반면 JS 코드에는 "/api/project/uploadimage"가 호출됩니다. 메소드에서도 매개 변수를 사용하기 때문에 URL을 통과하도록하려면 Route 속성 ([Route("api/project/uploadimage/{fileName}/{description}")])에 추가해야합니다. 그렇지 않으면 본문에서 매개 변수를 가져와야하므로 [ FromBody] 특성을 사용합니다.

[HttpPost] 
    [Route("api/project/uploadimage")] 
    public async Task UploadFile([FromBody] string fileName,[FromBody] string description) 
    { 
    } 
+0

"/ api"부분은 해당 컨트롤의 경로 접두어에서 가져온 것으로, 나는 언급하지 않았다. "[FromBody]"부분에서 해보겠습니다. 감사! –