2011-08-25 48 views
0

我的系統中有一個上傳功能,用於將文件存儲在d盤上,例如D:\ KBFiles。現在我需要通過Internet Explorer提供這些文件作爲鏈接。顯然,我不能提供一個路徑,例如D:\ KBFiles \ test.pdf。什麼是處理這種情況的最佳方式提供指向IIS之外的文件的鏈接

回答

1

寫「代理」文件,這樣的代碼,並調用它DownloadFile.aspx

string fileName = Request.QueryString["file"]; 
string filePath = Path.Combime("D:\\KBFile", fileName); 
Response.WriteFile(filePath); 

然後有這樣的鏈接:

<a href="DownloadFile.aspx?file=test.pdf">test.pdf</a> 

這使您可以檢查用戶權限,如果你使用的登錄系統,你也可以檢查所需的文件對白名單,以防止黑客攻擊企圖。

1

您需要爲您的WebApplication中的windows文件夾創建一個虛擬文件夾。只要IIS映射了虛擬文件夾,就可以使用直接鏈接,這會將WebApplication作爲根目錄。