Asp.net 通过HttpClient将文件(IfromFile)上载到webApi
我需要帮助。我试图将一个文件(IFormFile)从Project Web保存或上传到Web Api,并通过httpClient使用Web Api。我收到以下错误:System.NotSupportedException:不支持Microsoft.AspNetCore.Http.IHeaderDictionary上的集合类型“Microsoft.AspNetCore.Http.IHeaderDictionary” NotSupportedException:不支持“Microsoft.AspNetCore.Http.IFormFile.Headers”上的集合类型“Microsoft.AspNetCore.Http.IHeaderDictionary” 您似乎正在序列化一个Asp.net 通过HttpClient将文件(IfromFile)上载到webApi,asp.net,asp.net-web-api,asp.net-core-webapi,Asp.net,Asp.net Web Api,Asp.net Core Webapi,我需要帮助。我试图将一个文件(IFormFile)从Project Web保存或上传到Web Api,并通过httpClient使用Web Api。我收到以下错误:System.NotSupportedException:不支持Microsoft.AspNetCore.Http.IHeaderDictionary上的集合类型“Microsoft.AspNetCore.Http.IHeaderDictionary” NotSupportedException:不支持“Microsoft.AspN
FormFile
,这导致了上述问题
我试图将一个文件(IFormFile)从Project Web保存或上传到Web Api,并通过httpClient使用Web Api
联机公共异步任务([FromForm]candidate-addmodel)
{
var formContent=新的MultipartFormDataContent();
添加(新的StringContent(model.Senha),“Senha”);
Add(新的StringContent(System.Text.Json.JsonSerializer.Serialize(model.AnoLectvo)),“AnoLectvo”);
//...
//用于其他属性,如电子邮件、慷慨解囊等
//...
添加(新的StreamContent(model.Foto.OpenReadStream()),“Foto”,Path.GetFileName(model.Foto.FileName));
_httpClient.BaseAddress=新Uri(“https://localhost:xxxx/");
var response=wait_httpClient.PostAsync(“/api/xxx/candidaterad”,formContent);
if(响应。IsSuccessStatusCode)
{
//....
}
测试结果
NotSupportedException:不支持“Microsoft.AspNetCore.Http.IFormFile.Headers”上的集合类型“Microsoft.AspNetCore.Http.IHeaderDictionary”
您似乎正在序列化一个FormFile
,这导致了上述问题
我试图将一个文件(IFormFile)从Project Web保存或上传到Web Api,并通过httpClient使用Web Api
联机公共异步任务([FromForm]candidate-addmodel)
{
var formContent=新的MultipartFormDataContent();
添加(新的StringContent(model.Senha),“Senha”);
Add(新的StringContent(System.Text.Json.JsonSerializer.Serialize(model.AnoLectvo)),“AnoLectvo”);
//...
//用于其他属性,如电子邮件、慷慨解囊等
//...
添加(新的StreamContent(model.Foto.OpenReadStream()),“Foto”,Path.GetFileName(model.Foto.FileName));
_httpClient.BaseAddress=新Uri(“https://localhost:xxxx/");
var response=wait_httpClient.PostAsync(“/api/xxx/candidaterad”,formContent);
if(响应。IsSuccessStatusCode)
{
//....
}
测试结果
尝试将
[JsonIgnore]
添加到您的IFormFile
attributeHi@fortunatocapsule,有关于此案例的更新吗?尝试将[JsonIgnore]
添加到您的IFormFile
attributeHi@fortunatocapsule,有关于此案例的更新吗?
public async Task<IActionResult> Online([FromForm]CandidaturaAddModel model)
{
var formContent = new MultipartFormDataContent();
formContent.Add(new StringContent(model.Senha), "Senha");
formContent.Add(new StringContent(System.Text.Json.JsonSerializer.Serialize(model.AnoLectvo)), "AnoLectvo");
//...
//for other properties, such as Email, Genero etc
//...
formContent.Add(new StreamContent(model.Foto.OpenReadStream()), "Foto", Path.GetFileName(model.Foto.FileName));
_httpClient.BaseAddress = new Uri("https://localhost:xxxx/");
var response = await _httpClient.PostAsync("/api/xxx/CandidaturaAdd", formContent);
if (response.IsSuccessStatusCode)
{
//....
}