我有一個.net Web應用程序,用於從應該下載到客戶端主機的REST服務中提取大文檔。在Response.outputStream上刷新數據
我想流數據,以便它似乎直接下載到客戶端上。我的問題是,直到調用Response.End()之前,「文件下載」對話框才顯示出來。我希望它顯示出實時性。
// class extends System.Web.UI.Page
HttpClient client = new HttpClient();
// Add an Accept header for the mediatype format.
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(mediaType));
Stream stream = client.GetStreamAsync("http://www.aaa.se/theurl").Result;
StreamReader inputStream = new StreamReader(stream);
Response.ContentType = "text/plain";
Response.AppendHeader("Content-Disposition", "attachment; filename=file.txt");
using (StreamWriter streamWriter = new StreamWriter(Response.OutputStream))
{
streamWriter.AutoFlush = true;
string theLine = null;
while ((theLine = inputStream.ReadLine()) != null)
{
streamWriter.WriteLine(theLine);
streamWriter.Flush(); // <<<---- HERE FileDialog should pop up!
}
}
Response.End(); // <<<--- BUT it pops up here!
Flush和AutoFlush應該在這裏做詭計!! ??任何人都可以看到我做錯了什麼?
感謝