2016-07-05 5 views
1

Я пытаюсь добавить окно загрузки из SyncFusion в мое веб-приложение. Я добавил Загрузить Box:Загрузить изображение Web 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

Вы вызываете "/api/project/uploadimage" в свой JS-код, тогда как ваша маршрутизация атрибута - 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]» Я попробую. Благодаря! –

 Смежные вопросы

  • Нет связанных вопросов^_^