在 ASP.NET Core 3.1 中使用 HttpPut 请求上传文件时,可能遇到读取流文件时出现问题。要解决这个问题,需要在控制器的 PUT 方法中进行对内容进行内容读取。下面是示例代码:
[HttpPut("{id}")]
public async Task Put(int id)
{
try
{
using var stream = new MemoryStream();
await Request.Body.CopyToAsync(stream);
// 在此处使用流进行操作
return Ok();
}
catch (Exception ex)
{
return BadRequest(ex.Message);
}
}
上面的代码将 HttpPut 的请求体复制到内存流中,然后可以对流进行操作,例如进行文件存储或其他操作。