我正在開發允許用戶下載文件的ASP.NET網站。用於通過HTTP傳輸文件的Response.TransmitFile的替代方案
以前的文件存儲在同一服務器的網站上,所以我們可以這樣做:
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
Response.AddHeader("Content-Length", response.ContentLength.ToString());
Response.ContentType = "application/octet-stream";
Response.TransmitFile(path);
Response.End();
但是,現在的一些文件存儲在單獨的服務器上。我可以確認,使用
WebRequest request = WebRequest.Create(absolute-url);
WebResponse response = request.GetResponse();
存在的文件,但我怎麼能促進轉移作爲的TransmitFile需要一個虛擬路徑而不是URL?
我需要的用戶能夠選擇在那裏將文件保存爲一個正常的網絡下載
什麼是做到這一點的最好方法是什麼?
我希望我不是太天真了。您可以提供超鏈接,其中包含其他服務器上的文件的URL(除非您想自己跟蹤事情,或者希望在文件傳輸到客戶端之前進行預處理)。 – shahkalpesh 2009-07-20 19:13:50