【问题标题】:Send data as multipart/form-data以 multipart/form-data 形式发送数据
【发布时间】:2021-01-07 00:06:54
【问题描述】:

我有 .NET Core 后端,它接收 DTO 作为表单数据。

这里是控制器

 [HttpPost]
    public async Task<IActionResult> Register([FromForm] RegisterDto model)
    {
        var result = await _authAppService.Register(model);
        if (result.Code == 409)
        {
            return BadRequest();
        }

        return Ok(result.Token);
    }

这里是 DTO

 public class RegisterDto
{
    [Required]
    public string Email { get; set; }
    [Required]
    public string Password { get; set; }
    [Required]
    public string PasswordConfirmation { get; set; }
    [Required]
    public string FirstName { get; set; }
    [Required]
    public string LastName { get; set; }
    public string GcmToken { get; set; }
}

我需要通过表单数据从 Angular 应用发送数据

我在 Angular 端定义了模型

这里是

export class RegisterDto{
Email: string;
Password: string;
PasswordConfirmation: string;
FirstName: string;
LastName: string;

}

这就是我尝试发送表单数据的方式

register(){
  const formData =  new FormData();
  formData.append(this.registerObject);

}

在附加方法中我有这个错误

预期有 2-3 个参数,但得到 1.ts(2554)

如何通过表单数据发送 DTO?

【问题讨论】:

    标签: asp.net angular asp.net-core multipartform-data


    【解决方案1】:

    如果不给它一个字段名,就不能附加整个对象。正如错误所说,它接受 2-3 个参数,但是您只提供一个参数而没有给它一个字段名称。

    register(){
         const formData = new FormData();
         formData.append('regObj', this.registerObject);
    }
    

    不过,最好将每个字段附加为 formdata 值,例如。

    formGroup: FormGroup;
    formData: FormData;
    
    register() { 
        this.formData.append('Email', this.formGroup.controls.Email.value);
        this.formData.append('Password', this.formGroup.controls.Password.value);
        this.formData.append('FirstName', this.formGroup.controls.FirstName.value);
        this.formData.append('LastName', this.formGroup.controls.LastName.value);
    
        // call your service and send it
    }
    

    【讨论】:

      猜你喜欢
      • 2012-10-01
      • 1970-01-01
      • 2018-04-08
      • 1970-01-01
      • 2013-04-09
      • 1970-01-01
      • 2021-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多