如何将文件和附加数据从 Angular 传递到 ASP.NET Core 8 Web API

问题描述 投票:0回答:1

我最近从 .NET 6 升级到 .NET 8,其中接受

IFormFile
string
数据的现有 API 之一受到了影响,就像字符串数据变为空一样。据我所知,在 .NET 8 中不需要
[FromForm]
属性,因此我将其从 Angular UI 中删除并将其作为表单数据传递。不知道为什么数据仍然为空但文件已传递。谁能帮忙解决这个问题吗?

我的 API 示例

从 UI 我将作为表单传递

public async Task<ActionResult> upload(IFormFIle file, string data)
{
    // ....
}
upload(file: File, data: string): Observable<any> {
  const formData: FormData = new FormData();
  formData.append('file', file, file.name);
  formData.append('data', data);

  return this.http.post(this.apiUrl, formData);
}
c# angular asp.net-core-webapi .net-8.0
1个回答
0
投票

这基本上是 asp.net core Web API 文件上传和“表单数据”多个参数传递给方法的欺骗 .

您不能在控制器操作中使用多个表单参数(例如表单和正文参数)。您需要将参数封装到一个 param 对象中,如链接帖子中所述。

© www.soinside.com 2019 - 2024. All rights reserved.