2011-01-21 109 views
2

我需要在網頁中顯示圖片。但該圖像不存在於Web目錄中。如果圖像在web目錄下,我知道只有「../Images/TN/my.jpg」可以使用。但該圖像可在「D:\ Images \ TN \ my.jpg」中找到,我的網站部署在「C:\ apps \ mywebsite」中。將物理路徑轉換爲網頁路徑asp.net

如何將「D:\ Images \ TN \ my.jpg」路徑轉換爲相對路徑,以便圖像在網頁中可見?

+0

簡短的回答:你不能。那將是一個巨大的安全漏洞。 – leppie 2011-01-21 06:47:05

+0

@leppie你好!但是我無法弄清楚什麼是安全漏洞? Web應用程序和Images文件夾在同一臺服務器上,那爲什麼不允許? – 2011-01-21 07:00:47

回答

3

如果圖像不在虛擬目錄中,則無法顯示圖像。 試着在你的應用程序文件夾本身中保留,或者如果它不可行,那麼讓你的文件夾將圖像作爲虛擬目錄存放在IIS中,並將其掛載到應用程序文件夾中。

這裏就是你需要做的(方式,我喜歡)什麼,

  1. 打開IIS管理器。
  2. 在網站下的連接選擇您的網站並右鍵點擊它。
  3. 從上下文菜單中選擇添加虛擬目錄....
  4. 在打開的對話框中輸入您選擇的別名名稱,如**`「GlobalImages」**
  5. 瀏覽您想要的文件夾的物理路徑並選擇它並單擊確定。

你將它可用於在該網站相對URL。像

www.example.com/GlobalImages

當您設置IIS中,它會自動添加到您的解決方案的項目。

這裏是MSDN鏈接,如果你想..做

http://msdn.microsoft.com/en-us/library/ms751432.aspx

0

最簡單的事情可能是建立一個handler和使用通用映像名稱。雖然本地,指向D :.在服務器上時,指向Web路徑。 (至少只要你不把它們保存在虛擬目錄中)。

0

爲了獲取這一點,我們總是寫圖像或其他資源的絕對目錄。但是如果Web服務器中的資源,我使用相對目錄。