gpt4 book ai didi

angular - 有没有办法将 File 和 FormGroup 发布到我的 API?

转载 作者:太空狗 更新时间:2023-10-29 19:31:43 24 4
gpt4 key购买 nike

我实际上正在使用 .NET Core 开发 Angular 6 应用程序,在这个应用程序中我有一个用户窗体,用户可以在其中输入他的信息和图片。

没有图片的表单提交效果很好,没有表单的图片提交也很好。但是现在我想进行全局提交,但是我得到了 400 错误:

“无法创建 Microsoft.AspNetCore.Http.IFormFile 类型的实例。类型是接口(interface)或抽象类,无法实例化”

我认为问题是我的服务发布方法...

这是我的 userService 发布方法:

postUser(userFormAdd: FormGroup,file): Observable<Boolean> {
let input = new FormData();
input.append("file", file);
let data = {
user: userFormAdd.value,
fileData: input,
};
return this.http.post<Boolean>(AppSettings.URL + "/users/", data);
}

我在 UserViewModel 中组合了用户模型和文件:

public class UserCreationViewModel
{
public User user { get; set; }
public IFormFile fileData { get; set; }
}

我的 Controller post 方法甚至没有被调用:

[HttpPost]
public async Task<IActionResult> PostUser([FromBody]UserCreationViewModel userViewModel)
{

var test = await _siteService.CreateUser(userViewModel);

return Ok();
}

我希望在我的 Controller 方法中通过 IFormFile 和我的表单值检索我的图片,但实际上我只有 400 错误

提前致谢

最佳答案

试试下面的:

 let input = new FormData();
input.append("file", file);
input.append("user", userFormAdd.value);
return this.http.post<Boolean>(AppSettings.URL + "/users/", input);

如果问题仍然存在,请拆分您的 UserFormAdd 项目并附加到 FormData() 中

关于angular - 有没有办法将 File 和 FormGroup 发布到我的 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55865962/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com