我在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是否有理由无法查看或访问映射驱动器?如果是这样,是否有任何变通方法(可能是系统调用以获取映射驱动器的完整路径)?
答案 0 :(得分:5)
ColdFusion无法访问映射驱动器的原因是因为它在Windows中作为服务运行。
服务(或任何进程) 以不同的安全性运行 必须访问远程的上下文) 资源应该使用Universal 要访问的命名约定(UNC)名称 资源。
这是从以下知识库文章中提取的: http://support.microsoft.com/kb/180362
您可以将服务更改为以映射驱动器的单个用户身份运行(我没有检查是否可行,但可能)但您应该使用UNC路径而不是映射驱动器