2012-11-16 74 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/