請原諒我的無知。我正在尋找正確的方向。模糊鏈接url
我有一頁(pdf)下載鏈接。 如果我點擊鏈接,pdf將在新頁面中打開。 我可以看到pdf駐留在服務器上的文件夾。 如果我猜想在同一個文件夾中的其他文件名,也許我可以運氣。 某些文件是私人的,所以我不希望用戶從網址中獲得提示。 如何隱藏此信息? 我們在後臺運行.net 2。我可以調用一個方法並讓文件打開嗎?
任何幫助表示讚賞。我不知道要搜索什麼才能讓我開始。
感謝
我們有與.NET 2後端。
請原諒我的無知。我正在尋找正確的方向。模糊鏈接url
我有一頁(pdf)下載鏈接。 如果我點擊鏈接,pdf將在新頁面中打開。 我可以看到pdf駐留在服務器上的文件夾。 如果我猜想在同一個文件夾中的其他文件名,也許我可以運氣。 某些文件是私人的,所以我不希望用戶從網址中獲得提示。 如何隱藏此信息? 我們在後臺運行.net 2。我可以調用一個方法並讓文件打開嗎?
任何幫助表示讚賞。我不知道要搜索什麼才能讓我開始。
感謝
我們有與.NET 2後端。
你可以用你的數據庫GUID,那麼你可以創建一個頁面,DownloadPdf.aspx每個PDF文件相關聯,並通過它的GUID來定位你的文件系統的正確的文件,並使其:
Response.Clear();
Response.ContentType = "application/pdf";
Response.WriteFile(physicalPathToFile);
Response.End();
編輯
如果你想給用戶下載PDF格式的能力,你可以添加以下行,之前到Response.End:
Response.AddHeader("content-disposition", "attachment; filename=" + filename);
其中,文件名可能是物理文件的非晦澀名稱(或您想要給它的任何名稱)。
D.的帖子是100%正確的,您可以更進一步並使用.resources擴展名保存該文件,因此IIS永遠不會直接爲filE提供服務。
+1。這是一個很好的觀點,雖然通過將文件存儲在app_data中也可以實現,對嗎?這樣您就不必扭曲文件類型(比如,當您以管理員身份遠程瀏覽服務器時,或者您只想知道正在處理的內容類型時,方便使用) – 2009-07-09 15:34:02
更好的是,將文件重命名爲guid,並將原始文件名保留在數據庫中。這樣,您可以保證唯一的文件名,甚至可以擁有基本的文件版本。 – 2009-07-09 14:25:56