Her*_*man 3 c# asp.net asp.net-web-api asp.net-core asp.net-core-webapi
api方法如下图
[HttpPost]
public async Task<BaseListResponse<MediaStorageModel>> MediaBrand(IFormFile file, int brandId)
{
var files = new List<IFormFile>();
files.Add(file);
var response = await this.Upload(files, "brand", brandId);
return response;
}
Run Code Online (Sandbox Code Playgroud)
将我的dotnet核心从2.0升级到2.1不能正常工作,任何人都可以帮忙。出什么事了
Knu*_*urO 13
确保表单是正确的编码类型
<form asp-action="Edit" enctype="multipart/form-data">
Run Code Online (Sandbox Code Playgroud)
我还必须根据生成的代码更改模型绑定的工作方式:
public async Task<IActionResult> Edit([Bind("Text,Example")] Example example)
Run Code Online (Sandbox Code Playgroud)
到这个代码:
public async Task<IActionResult> Edit(Example example)
Run Code Online (Sandbox Code Playgroud)
我也遇到过同样的问题,我可以通过将“名称”命名参数应用到具有窗体中“文件”字段名称的FromForm属性的方法来解决。它指定表单中的哪个字段绑定到method参数。更改您的方法签名,如下所示。
[HttpPost("status")]
public async Task<BaseListResponse<MediaStorageModel>> MediaBrand([FromForm(Name ="file")] IFormFile file, int brandId)
Run Code Online (Sandbox Code Playgroud)
小智 6
在您的表单中使用
enctype="multipart/form-data"
小智 5
将 (Name = "body") 添加到对我有用的 from 表单
服务器调用:
[HttpPost]
[Route("UploadImage")]
public IActionResult UploadImage([FromForm(Name = "body")]IFormFile formData)
Run Code Online (Sandbox Code Playgroud)
客户端代码:
let formData = new FormData();
formData.append('body', event.target.files[0]);
const config = {
headers: {
'content-type': 'multipart/form-data',
},
}
axios.post(ApiURL,formData, config);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3815 次 |
最近记录: |