【问题标题】:Upload Image Web Api上传图片 Web API
【发布时间】:2016-11-07 19:41:29
【问题描述】:

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

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

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

然后我想使用 WebApi Controller 添加:

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

但我总是得到 http 响应:

请求的资源不支持http方法'POST'

【问题讨论】:

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


    【解决方案1】:

    您在 JS 代码中调用 "/api/project/uploadimage",而您的属性路由是 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)
        {
        }
    

    【讨论】:

    • “/api”部分来自该控制器的路由前缀,我忘了提及。 “[FromBody]”的部分我会试试的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多