如何解决从xamarin将图像上传到asp.net核心api时获得400条响应,形成了UWP应用
我在MainPage.cs中有以下代码
private async void UploadFile_Clicked(object sender,EventArgs e)
{
try
{
var url = "http://localhost:53416/api/upload";
var content = new MultipartFormDataContent();
content.Add(new StreamContent(_mediaFile.GetStream()),"\"file\"",$"\"{_mediaFile.Path}\"");
var httpClient = new HttpClient();
var httpResponseMessage = await httpClient.PostAsync(url,content);
}
catch (Exception ex)
{
}
}
,这在我的Asp.net核心控制器UploadController.cs中
[Route("api/Upload")]
[HttpPost]
public async Task<IActionResult> Post([FromForm(Name = "file")] IFormFile file)
{
try
{
var uploads = Path.Combine(webHostEnvironment.WebRootPath,"Uploads");
if (file.Length > 0)
{
using (var fileStream = new FileStream(Path.Combine(uploads,file.FileName),FileMode.Create))
{
await file.CopyToAsync(fileStream);
}
}
return Ok();
}
catch (Exception ex)
{
return StatusCode(500,$"Internal server error: {ex}");
}
}
从UWP应用执行呼叫时,我收到400错误的请求,并且该方法未触发,
而在使用邮递员在表格数据中包含图像的邮递员打相同的网址时,效果很好。
目标框架是.net核心3.1
还有一件事情是,从Post方法中删除参数“ [FromForm(Name =“ file”)] IFormFile file“),使其看起来像
public async Task<IActionResult> Post()
该方法被调用。
我做错什么了吗 任何人都知道!
解决方法
检查图像的大小,Asp.Net核心具有默认的30MB请求大小限制,您可以根据需要增加该限制:https://khalidabuhakmeh.com/increase-file-upload-limit-for-aspdotnet
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。