Как получить размер файла, который я получаю с помощью моего HttpClient
перед возвратом fileStreamResult
public async Task<FileStreamResult> Index(string id)
{
var urlToDownloadFromService= _upDownService.Downloadables.Find(d => d.Name == id);
HttpClient client = new HttpClient();
Stream stream = await client.GetStreamAsync(new Uri(urlToDownloadFromService.UrlSource));
var fileStreamResult = new FileStreamResult(stream, "application/octet-stream");
return fileStreamResult;
}
stream.Length
не работает, потому что ContentLengthReadStream
не реализует метод
ОБНОВЛЕНИЕ
В рамках dotnetcore реализация HttpConnection
получает информацию о длине от объекта response
, например,
else if (response.Content.Headers.ContentLength != null)
{
long contentLength = Response.Content.Headers.ContentLength.GetValueOrDefault();
.
.
.
.
responseStream = new ContentLengthReadStream(this, (ulong)contentLength);
Github источник httpConnection