我有一个表单,用户从一组复选框中选择并选择一张图片。我将此表单从angular2前端发送到asp.net核心web api后端。我遇到的问题是,当我发送数据时,只发送图像文件,忽略布尔值中的所有复选框数据。这是我第一次这样做,所以我不确定如何处理它。
以下是我用于将数据添加到表单数据的代码
var formData = new FormData();
formData.append('ReturnFaceLandMarks', this.formViewModel.ReturnFaceLandmarks);
formData.append('ReturnFaceId', this.formViewModel.ReturnFaceId);
formData.append('age', this.formViewModel.age);
formData.append('facial_hair', this.formViewModel.facial_hair);
formData.append('gender', this.formViewModel.gender);
formData.append('glassed', this.formViewModel.glassed);
formData.append('head_pose',"false");
formData.append('smile', "true");
formData.append('file', this.formViewModel.img);
,这里是帖子请求
detect(data: any): Promise<any>
{
return this.http.post(this.serverUrl+"face/detect/", data, { headers: this.headers })
.toPromise()
.then(response => {
console.log(response);
})
.catch(this.handleError);
}
答案 0 :(得分:0)
我在使用Angular和.Net时遇到了类似的问题
最适合我的解决方案是创建FormData映射到的类(模型),或者使用[FromForm]属性指定Web api控制器方法参数。
public IActionResult Upload(IFormFile file, [FromForm] bool smile) {
...
}