У меня есть действие Web API ASP.NET, который создает файл и возвращает содержимое потока:Принять и загрузить содержимое потока из ASP.NET Web API с помощью HTTPClient
public HttpResponseMessage Get(string filePath)
{
// create file
var file = FileConverter.GenerateExcelFile(filePath);
var stream = new FileStream(filePath, FileMode.Open);
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
result.Content = new StreamContent(stream);
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
result.Content.Headers.ContentDisposition.FileName = Path.GetFileName(filePath);
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
return result;
}
Я хотел бы использовать HttpClient для загрузки возвращенный файл. Вот что у меня есть сейчас:
client.GetAsync(address).ContinueWith(
(requestTask) =>
{
HttpResponseMessage response = requestTask.Result;
// response.EnsureSuccessStatusCode();
response.Content.ReadAsStreamAsync().ContinueWith(
(readTask) =>
{
var stream = readTask.Result;
});
});
Как заставить фактическую загрузку после получения результата?
Редактировать: Я использую ASP.NET 4.0 WebForms.
Вы когда-нибудь узнали ответ для этого? – cjohns
@cjohns нет, я не нашел ответа. – Rivka