【发布时间】:2022-01-11 10:45:04
【问题描述】:
如何将 FormData 传递给 api,其中包含对象数组?
我正在尝试这样
这是请求的负载 如何在 .net core c# Api 中获取所有包含其他数据的项目?
public class BackgroundCheckParam
{
public Guid EmpId { get; set; }
public List<BackgroundChecksResults> Items { get; set; }
public IFormFile ResultPdf { get; set; }
public IFormFile DisclosurePdf { get; set; }
public DateTime CompleteDate { get; set; }
}
public class BackgroundChecksResults
{
public string Type { get; set; }
public string Result { get; set; }
}
public ResponseResult AddBackgroundCheck([FromForm] BackgroundCheckParam data)
{
}
其他都很好,除了物品,我什么都收到了。项目始终为 0。
【问题讨论】:
-
使用 Angular 的
HttpClient。警告:它会强制你使用 RxJS,它的学习曲线非常陡峭。 -
已经使用 Angular 的 HttpClient 来创建上面的有效载荷。只需要 c# 帮助我如何以列表的形式访问项目。
-
它不起作用,因为您正在混合 JSON 和
<form>数据。这不是 ASP.NET Core 的错。您需要更改 Angular/TypeScript 以使用 ASP.NET 的 List FormData 名称值,而不是 JSON。 -
这意味着我们不能在 FormData 中传递这样的项目?
-
没错。要么只使用 JSON,要么只使用
URLSearchParams(application/x-www-form-urlencoded) 主体。
标签: c# angular .net-core form-data