将文件和字符串数据附加到 Angular 9 中的 FormData 对象
Appending both a file and string data to a FormData object in Angular 9
我正在从 Angular 应用程序向 ASP .Net Core 中的控制器发送一个 FormData 对象。在这个 FormData 对象中,我想附加一个已上传到客户端的文件和一个项目 ID。
uploadLink(files, projectId) {
if (files.length === 0) {
return;
}
const fileToUpload = files[0] as File;
const formData = new FormData();
formData.append('file', fileToUpload, fileToUpload.name);
formData.append('projectId', projectId);
return formData;
}
}
当数据发送到我的控制器时,我只能看到上传文件中的数据。项目 ID 根本没有传递给控制器。
// POST: FileExport/SetReconciliationCSV
[HttpPost("reconciliation")]
public async Task<IActionResult> SetReconciliation(IFormFile file)
{
fileName = file.FileName;
var records = new List<ReconciliationExportCsv>();
我正在使用 IFormFile 接收数据服务器端。我已经检查了客户端是否将正确的项目 ID 传递给要附加到 FormData 对象的 'uploadLink' 方法。为什么 projectId 没有传递到我的控制器?
已解决:
如上所述,控制器只是从 FormData 对象请求文件。我能够通过添加参数 '[FromForm]string projectId' 来检索 projectId
到我在 .net 核心中的控制器。
// POST: FileExport/SetReconciliationCSV
[HttpPost("reconciliation")]
public async Task<IActionResult> SetReconciliation(IFormFile file, [FromForm]string projectId)
{
fileName = file.FileName;
string id = projectId;
var records = new List<ReconciliationExportCsv>();
我正在从 Angular 应用程序向 ASP .Net Core 中的控制器发送一个 FormData 对象。在这个 FormData 对象中,我想附加一个已上传到客户端的文件和一个项目 ID。
uploadLink(files, projectId) {
if (files.length === 0) {
return;
}
const fileToUpload = files[0] as File;
const formData = new FormData();
formData.append('file', fileToUpload, fileToUpload.name);
formData.append('projectId', projectId);
return formData;
}
}
当数据发送到我的控制器时,我只能看到上传文件中的数据。项目 ID 根本没有传递给控制器。
// POST: FileExport/SetReconciliationCSV
[HttpPost("reconciliation")]
public async Task<IActionResult> SetReconciliation(IFormFile file)
{
fileName = file.FileName;
var records = new List<ReconciliationExportCsv>();
我正在使用 IFormFile 接收数据服务器端。我已经检查了客户端是否将正确的项目 ID 传递给要附加到 FormData 对象的 'uploadLink' 方法。为什么 projectId 没有传递到我的控制器?
已解决:
如上所述,控制器只是从 FormData 对象请求文件。我能够通过添加参数 '[FromForm]string projectId' 来检索 projectId 到我在 .net 核心中的控制器。
// POST: FileExport/SetReconciliationCSV
[HttpPost("reconciliation")]
public async Task<IActionResult> SetReconciliation(IFormFile file, [FromForm]string projectId)
{
fileName = file.FileName;
string id = projectId;
var records = new List<ReconciliationExportCsv>();