asp.net 尝试发布IFormFile[](数组)时-所有内容均为空

bmp9r5qi  于 2022-11-19  发布在  .NET
关注(0)|答案(1)|浏览(234)

控制器:

[HttpPost("CreateEmail")]
[Consumes("multipart/form-data")]
public async Task<ApiResponse<Guid>> PostEmailToProcess([FromForm]EmailToProcess email) 
{
    try
    {
        var emailToAdd = new EmailToProcessDto(email);
        emailToAdd.Created = DateTime.Now;

        var emailId = await _emailRepository.PostEmailAsync(emailToAdd);

        foreach (var file in email)
        {
            if (email.IFormFile != null)
            {
                await _contentUploadService.Upload(file, emailId.Data);
            }
        }
// etc

通过电子邮件发送到进程对象:

public class EmailToProcess
{
    public string From { get; set; }

    public string To { get; set; }

    ...

    public IFormFile[] IFormFile { get; set; }
}

当我发布EmailToProcess时-所有字段返回正确的数据,但IFormFile属性中的数据始终为空。当我允许它只提交1个IFormFile(无数组)时-它工作正常,没有空值

hts6caw3

hts6caw31#

  • 请检查您的元素。它必须包含enctype属性,且必须大于“multipart/form-data”。
  • 如果您使用FormData对象,则必须将道具附加到该模型并发布它。

你可以看看this的例子。

相关问题