2017-04-20 30 views
0

例如,URL是http://files.mysite.com/images/mypic.jpg.ASP.net - 如何提供存儲在同一臺機器上的Web應用程序之外的文件?

我通常存儲在文件夾/images在Web應用程序,這使得/images文件夾我的應用程序的一部分的根。

我想保留這些文件在C:/images,所以圖像的實際物理路徑是C:/images/mypic.jpg

我需要在我的應用程序中編寫代碼和/或在IIS中執行什麼操作,以便瀏覽器在將它指向該URL時顯示該圖像?

我有我的Web應用程序之外的文件夾的控制,因爲我在本地機器上開發,一旦部署,它將是我將完全控制的服務器。

+0

您需要從代碼流式傳輸文件。例如,創建一個資源(處理程序,頁面,控制器操作,無論您使用什麼),它接受一些查詢字符串值來指示要返回的文件。然後,該資源將從磁盤讀取文件並將其傳輸到輸出。 – David

回答

0

如果您不需要限制對文件的訪問,則可以創建名爲「images」的virtual directory,其物理路徑爲c:\images

設置完成後,http://files.mysite.com/images/mypic.jpg的請求將返回存儲在c:\images\mypic.jpg處的圖像。

像這樣的PowerShell腳本應該這樣做:

New-WebVirtualDirectory -Site "Default Web Site" -Name "images" -PhysicalPath "c:\images" 

如果你獲得的文件備份有任何問題,請確保您已映射文件擴展名和MIME類型在IIS管理控制檯。

相關問題