ASP.NET Core передача файла клиенту размером более 2Гб

public IActionResult Download2()
{
    var filePath = Path.Combine(_fileBufferDownloadStorage.GetFolderPath(), "03d4f3bd-b175-4320-a432-38f393da202b");

    var fileStreamDownload = new FileStream(filePath, FileMode.Open);

    return new FileStreamResult(fileStreamDownload, new MediaTypeHeaderValue("application/octet-stream"))
    {
        FileDownloadName = "1.zip"
    };

    //return new PhysicalFileResult(filePath, "application/octet-stream");
}

При выполнении данного кода получаю ошибку Stream was too long. Т.к. происходит буферизация в память.

А мне нужно передавать пользователю фалы размером более 4GB. В какую сторону копать? Или как отключить буферизации?


Ответы (1 шт):

Автор решения: dartvalerius

Спасибо всем кто помог. Особенно помог vitidev, я нашёл middleware с MemoryStream

→ Ссылка