【问题标题】:How to pass a file and json object from a postman to asp.net core webapi如何将文件和 json 对象从邮递员传递到 asp.net 核心 webapi
【发布时间】:2019-08-04 18:56:23
【问题描述】:

我有一个带有以下签名的 post 方法,

[HttpPost] public ActionResult SavePriorAuthorization(MainPriorAuthorization priorAuthorization, IFormFile 文件)

现在我想从邮递员那里传递对象和文件。我尝试了以下不起作用的选项。

这会报错,System.ArgumentNullException: Value cannot be null.Parameter name: header

标题类型:multipart/form-data

任何帮助将不胜感激。

【问题讨论】:

    标签: c# asp.net-core postman asp.net-core-webapi asp.net-core-2.1


    【解决方案1】:

    我通常做的是创建一个像这样的 ViewModel:

    public class MainPriorAuthorizationViewModel
    {   
        public IFormFile File { get; set; }
        public string TestName { get; set; }
    }
    

    然后创建一个带有 [FromForm] 属性的动作,以便它知道它需要从哪里映射:

    [HttpPost]
    public void Post([FromForm]MainPriorAuthorizationViewModel priorAuthorization)
    {
       //do logic
    }
    

    然后在我的邮递员中它看起来像这样:

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      尝试更改MainPriorAuthorization模型中key的设置,可以直接将模型的属性名设置为Postman中的key。

      以下是我测试并运行良好的示例代码:

      嘉宾模特

       public class Guest
      {
          public int Id { get; set; }
          public string Name { get; set; }
      }
      

      在参数中添加[FromForm]属性

      [HttpPost]
          public void SaveGuest([FromForm]Guest guest,IFormFile file)
          {  }
      

      邮差截图

      【讨论】:

        猜你喜欢
        • 2018-06-18
        • 2016-04-01
        • 1970-01-01
        • 2019-11-11
        • 2021-03-19
        • 1970-01-01
        • 1970-01-01
        • 2023-03-12
        • 1970-01-01
        相关资源
        最近更新 更多