从ColdFusion访问映射的网络驱动器

时间:2010-05-21 20:20:56

标签: windows networking file coldfusion

我在ColdFusion中访问映射驱动器时遇到问题。我已将\\server\files\sharing映射到z:\。如果我运行此代码,它表示目录存在完整路径但不存在映射的目录:

<cfscript>
  fullPath = "\\server\files\sharing\reports";
  mappedPath = "z:\reports";

  WriteOutput("fullPath exists: #DirectoryExists(fullPath)#<br/>"); //YES
  WriteOutput("mappedPath exists: #DirectoryExists(mappedPath)#");  //NO
</cfscript>

我做了一些谷歌搜索并找到了一些有相同问题的人,但解决方案始终是使用完整路径。 ColdFusion是否有理由无法查看或访问映射驱动器?如果是这样,是否有任何变通方法(可能是系统调用以获取映射驱动器的完整路径)?

1 个答案:

答案 0 :(得分:5)

ColdFusion无法访问映射驱动器的原因是因为它在Windows中作为服务运行。

  

服务(或任何进程)   以不同的安全性运行   必须访问远程的上下文)   资源应该使用Universal   要访问的命名约定(UNC)名称   资源。

这是从以下知识库文章中提取的: http://support.microsoft.com/kb/180362

您可以将服务更改为以映射驱动器的单个用户身份运行(我没有检查是否可行,但可能)但您应该使用UNC路径而不是映射驱动器