上传Image Web Api

时间:2016-07-05 20:45:30

标签: javascript .net asp.net-web-api syncfusion

我正在尝试将SyncFusion上传框添加到我的网络应用中。我添加了上传框:

<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方法&#39; POST&#39;

1 个答案:

答案 0 :(得分:1)

您在JS代码中调用了"/api/project/uploadimage",而您的属性路由是project/uploadimage。您还在方法中使用参数,因此如果您希望它们通过网址传递,您需要在Route属性([Route("api/project/uploadimage/{fileName}/{description}")])中添加它们,否则您需要从body,所以你需要在你的方法上使用[FromBody]属性。

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