У меня есть простое веб-приложение, которое позволяет загружать файлы.
Файл загружается правильно, однако браузер никогда не указывает количество полученных данных (т. е. прогресс).
Он просто продолжает показывать 0,1 МБ, пока вдруг файл не будет загружен.
Действие загрузки реализовано следующим образом — пока просто откройте-прочитайте локальный файл и верните поток как результат File.
public async Task<IActionResult> Download(string id)
{
var project = await this.service.GetById(id).ConfigureAwait(false);
if (project == null)
{
return this.NotFound($"Project [{id}] does not exist");
}
var file = new FileInfo(project.DownloadLocation);
this.Response.ContentLength = file.Length;
return this.File(file.OpenRead(), "application/octet-stream", file.Name);
}
Загрузка запускается простой ссылкой действия:
<dd class="project-path">@Html.ActionLink("Here", "Download", "Download", new { id = Model.Id})</dd>
Есть идеи, почему Chrome/Firefox никогда не показывает ход загрузки?