public ActionResult Download(string reportId) { var owinContext = this.HttpContext.GetOwinContext(); var user = owinContext.GetUser(); var tenantId = user.GetTenantId(); var userObjectId = user.GetUserObjectId(); var telemetryContext = new TelemetryContext { TenantId = tenantId, UserObjectId = userObjectId }; TelemetryHelper.LogVerbose( @"ReportController::Download", telemetryContext); var fileName = DataAccess.GetReportFileName(tenantId, userObjectId, reportId); TelemetryHelper.LogInformation( FormattableString.Invariant($"Got report file name {fileName} for report {reportId}."), telemetryContext); var stream = new MemoryStream(); StorageAccess.DownloadFile(fileName, stream); stream.Position = 0; TelemetryHelper.LogInformation( FormattableString.Invariant($"Got file stream with size {stream.Length} for report {reportId}"), telemetryContext); return(this.File(stream, @"application/html", $"{fileName}")); }