我知道如何將輸出顯示到Web瀏覽器(顯然),並且我還知道如何通過設置Content-Disposition和Content-Type標頭然後推送文件數據來推送客戶端下載的文件。但是我希望這樣做,類似於下載頁面的工作方式(「您的文件下載將立即開始」)。如何將輸出顯示到Web瀏覽器並推送文件進行下載?
使用什麼技術來實現它?我正在考慮使用META HTTP刷新,但這裏是...網頁實際上正在做一些相當複雜的處理,我想將處理結果顯示給用戶,並將結果以文件形式推送給用戶但只執行一次處理。如果可能,我想避免HTTP刷新。有沒有什麼方法可以通過單個頁面請求來完成這兩項操作?或者,我將不得不將文件寫入服務器,然後在來自HTTP刷新請求的第二頁請求上提供它?
好吧,我看到如何工作......但這也會創建第二個請求到服務器,我將不得不緩存文件。我想我應該說這個文件不是一個真正的文件 - 它是來自SQL查詢的數據。如果我不需要,我不想將文件保存到磁盤,而且我也不想兩次執行SQL查詢。有沒有辦法在沒有第二次訪問服務器的情況下同時向用戶顯示某些內容? – 2010-10-06 14:31:32
恐怕不是。看我的編輯 – 2010-10-06 14:45:42
謝謝!我發現了另一種緩存方式,我更加高興 - 我只是將文件卡在Session變量中,然後使用IFRAME重定向,告訴頁面只發送會話變量中的數據,然後擦除會話變量。像冠軍一樣工作! – 2010-10-06 15:21:54