首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ng2-file-upload不触发控制器方法.net核心web api

ng2-file-upload不触发控制器方法.net核心web api
EN

Stack Overflow用户
提问于 2017-07-13 21:00:45
回答 1查看 722关注 0票数 0

当Content-Type设置为'multipart/form-data‘时,upload方法不会触发控制器方法。如果Content-Type设置为'application/json‘,方法将被触发,但文件对象将为空。

下面是我的客户端(Angular 4)实现:

代码语言:javascript
复制
    public uploader = new FileUploader({
        url: "/api/mycontroller/uploadfile",
        allowedFileType: ["pdf"],
        headers: <Headers[]>[
            //{ name: 'Content-Type', value: 'application/json' }
            { name: 'Content-Type', value: 'multipart/form-data' }
        ]
    });
    
     save() {
        //...
        this.uploader.queue.reverse()[0].upload();
     }

它是我的web api控制器(.net核心1.0):

代码语言:javascript
复制
[Route("uploadfile")]
[HttpPost]
public async Task<ActionResult> UploadFile([FromBody]IFormFile file)
{
   //...
}

也许我忘了添加一些特殊的参数或其他什么?

EN

回答 1

Stack Overflow用户

发布于 2017-07-13 22:27:20

我相信你的控制器方法应该是无参数的,你应该通过HttpContext获取你的文件,但我现在没有办法测试它,所以我不能确定……但我认为应该是这样的:

代码语言:javascript
复制
[Route("uploadfile")]
[HttpPost]
public async Task<ActionResult> UploadFile()
{
    var file = HttpContext.Current.Request.Files[0];
    //...
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45081395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档