Можно ли отправить запрос POST на контроллер и прочитать поток HttpContext.Request.Body
сразу после отправки запроса POST (например, если размер файла составляет 10 ГБ)? Если у меня есть такая форма:
<form method="post" enctype="multipart/form-data">
и такой контроллер:
public class FileController : ControllerBase
{
[HttpPost("[action]")]
public async Task Upload()
{
var stream = HttpContext.Request.Body;
}
}
Если я отправляю файл, он сначала загружает файл (как я вижу в моем браузер), а затем он попадает в контроллер, после чего весь файл сохраняется во временном файле, как вы можете видеть здесь: https://github.com/aspnet/HttpAbstractions/blob/07d115400e4f8c7a66ba239f230805f03a14ee3d/src/Microsoft.AspNetCore.WebUtilities/FileBufferingReadStream.cs#L186
Я могу проверить, что он сохраняет загруженный файл на диск, который не будет работать для моего приложения, так как у меня нет неограниченного хранилища. Моя конечная цель - загрузить файл на FTP, поэтому запрос выглядит следующим образом:
client -> service -> FTP
Что я делаю не так?