将数据发送为 multipart/form-data
Send data as multipart/form-data
我有 .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);
}
在附加方法中我有这个错误к
Expected 2-3 arguments, but got 1.ts(2554)
如何通过表单数据发送 DTO?
如果不给它一个字段名,就不能追加整个对象。正如错误所说,它接受 2-3 个参数,但是您只提供了一个参数而没有给它一个字段名称。
register(){
const formData = new FormData();
formData.append('regObj', this.registerObject);
}
但是,如果您将每个字段附加为表单数据值,例如。
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
}
我有 .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);
}
在附加方法中我有这个错误к
Expected 2-3 arguments, but got 1.ts(2554)
如何通过表单数据发送 DTO?
如果不给它一个字段名,就不能追加整个对象。正如错误所说,它接受 2-3 个参数,但是您只提供了一个参数而没有给它一个字段名称。
register(){
const formData = new FormData();
formData.append('regObj', this.registerObject);
}
但是,如果您将每个字段附加为表单数据值,例如。
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
}