2012-11-16 69 views
1

在我的ColdFusion應用程序,我想保持圖像的wwwroot以外的此文件夾中:C:\ extSite \ stdImages圖片無法顯示(儘管映射)

我創建了一個映射的wwwroot \ WEB- INF \ JRUN-web.xml中是這樣的:

<virtual-mapping> 
    <resource-path>/extStdImages</resource-path> 
    <system-path>C:\extSite\stdImages\</system-path> 
</virtual-mapping> 

要顯示的圖像,我這樣做:

<img src="/extStdImages/abc.jpg"> 

這工作得很好我的開發站點(這是使用ColdFusion的內置Web服務器),但圖像確實如此不在生產中顯示(我正在使用IIS)。我想知道是否必須調整IIS或生產服務器上的其他位置以允許訪問這些文件。

任何人都可以幫忙嗎?提前致謝!

Peter

回答

4

在iis中,您需要創建一個指向圖像文件夾的虛擬目錄。雖然在wwwroot之外放置圖像是毫無意義的,因爲它們必須可以通過網頁訪問才能顯示在網頁上。這樣做的唯一理由是如果你使用密碼保護版權圖像,而不是直接鏈接到它們。

2

如果您在IIS,你可能想看看這對你的web.config

http://www.iis.net/configreference/system.applicationhost/sites/site/application/virtualdirectory

這裏是一個示例:

<site name="Contoso" id="2" serverAutoStart="true"> 
    <application path="/"> 
     <virtualDirectory path="/" physicalPath="C:\Contoso\Content" /> 
    </application> 
    <application path="/CRM"> 
     <virtualDirectory path="/" physicalPath="C:\Contoso\Content\CRM" /> 
     <virtualDirectory path="/Images" physicalPath="E:\Images" /> 
    </application> 
    <bindings> 
     <binding protocol="http" bindingInformation="*:80:www.contoso.com" /> 
    </bindings> 
</site> 
0

這是錯誤的C:\ extSite \ stdImages \ 您必須使用斜槓而不是反斜槓CF 這是正確的,並且工作原理C:/ extSite/stdImages/