首页 > 解决方案 > 上传文件和 JSON 到 PostMan

问题描述

由于我的 JSON 是一个集合,我已经尝试了许多 SO 答案,但在我的情况下没有一个可以上传文件和一些 JSON。

我的 .Net Core 3.1 Web Api 控制器操作采用 type 的单个参数,FileUpload如下所示:

    public class FileUpload
    {
        public IFormFile FileData { get; set; }
        public List<ImageOption> ImageOptions { get; set; } = new List<ImageOption>();
    }

    public class ImageOption
    {
        public int? Width { get; set; }
        public InterpolationMode Quality { get; set; } = InterpolationMode.HighQualityBicubic;
    }

控制器动作如下所示:

    [HttpPost("uploadfile")]
    public async Task<IActionResult> UploadFile(FileUpload file)
    {
        ...
    }

FileUpload被序列化为 JSON 时,它看起来像这样:

{
  "FileData": null,
  "ImageOptions": [
    {
      "Width": 400,
      "Quality": 7
    }
  ]
}

当我发布到 PostMan 时,我只取回文件(这很好),但没有ImageOptions. ImageOptions集合总是空的。

这是 PostMan 的一次尝试,以使其发挥作用。

在此处输入图像描述

我也试过这个:

在此处输入图像描述

ImageOptions集合仍然是空的。

在此处输入图像描述

这可能吗?我错过了什么?该请求将来自 Angular 应用程序,因此我需要知道如何从 Angular 正确构建请求,以便我的 .Net 项目可以使用它。

我如何发布到 PostMan?

来自 Angular 的请求是什么样的?我正在尝试在 Swagger 中测试通过数组但没有成功。

任何帮助表示赞赏。

标签: jsonangularpostmanasp.net-core-webapiasp.net-core-3.1

解决方案


好的,我找到了我的一个问题的答案,即如何将数组发布到 PostMan,这是我的解决方案:

在此处输入图像描述

但现在我需要知道如何将请求从 Angular 发送到 Web Api,同时将文件和附加数据作为数组。

任何建议表示赞赏。


推荐阅读