奇怪的 ColdFusion 路径问题(ExpandPath 结果)

Strange ColdFusion path issue (ExpandPath resultant)

希望这里的人知道 ColdFusion,并且可能知道发生了什么事。

<cfscript>
    sz_test1=ExpandPath("/app/folder/afternoon.jpg");
    sz_test2=ExpandPath("app/folder/afternoon.jpg");

    WriteOutput(sz_test1&"<br />");
    WriteOutput(sz_test2&"<br />");
    abort;
</cfscript>

简单代码,简单输出ExpandPath()结果。

情况:

网站 运行 ColdFusion 11 根据一天中的时间将图像打印到页面上。 简单页面,如果是下午,你得到afternoon.jpg,否则morning.jpg。 ExpandPath 是必需的,因为我们实际上将页面内容输出为 pdf (cfdocument + cfimage),这对于这个问题的目的并不重要。但是让你知道,所以没有人建议不使用 ExpandPath 作为解决方案..

问题

在这个页面上,就在 5 分钟前,变量 sz_test1 的结果会以 ColdFusion 路径返回。不是网络根路径。

C:\Coldfusion11\CFIDE\app\folder\afternoon.jpg

sz_test2 会给出:

C:\inetpub\wwwroot\app\folder\afternoon.jpg

所以在第一种情况下文件自然不存在。 但是现在,ColdFusion 突然不再这样做了。两个测试 return 完全相同的结果。这几周一直在发生(结果始终不一致)。

问题:

任何人都知道什么会导致 ExpandPath() 函数:

  1. Return 以斜杠为前缀时结果不一致
  2. Return 在代码(或环境)没有任何改变的情况下突然出现不同的结果。

您可能想尝试使用 thisPath=getDirectoryFromPath (getCurrentTemplatePath); thisFile="#thisPath#/folder/afternoon.jpg";

它有点笨重,但可能会消除不一致的行为。