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

Kip*_*Kip 6 windows coldfusion networking file

我在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>
Run Code Online (Sandbox Code Playgroud)

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

小智 5

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

必须访问远程资源的服务(或在不同安全上下文中运行的任何进程)应使用通用命名约定(UNC)名称来访问资源.

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

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