繁体   English   中英

从Groovy中的webapp容器外部读取文件

[英]reading a file from outside webapp container in groovy

嗨,我正在尝试从Web应用程序容器外部读取xml文件,当xml文件位于Web应用程序容器内部的目录中时,它工作正常,但是当我尝试从Web-App外部的目录位置访问该XML文件时,该文件不起作用应用程式。 实际上,在尝试读取XML文件之前,实际上我已经在磁盘中的任何适当位置成功写入了XML文件。 我尝试了诸如c:/xmls/my1.xml、/myprojhome/xmls/my1.xml之类的路径,但只有/myprjhome/js/my1.xml有效,因为js目录位于web-ap内。

我只是想通过对代码中的路径进行硬编码来访问,例如map.setDataURL(“ / myprjhome / js / my1.xml”);。 -这可行,但其他人却没有,他们给数据错误-无法找到文件

我正在使用的是Windows系统,是否需要以其他方式设置地图的网址? (例如,使用file.seperator)

我正在使用Fusion Maps-一种基于Flash的地图工具,可以接受xml格式的数据,因此我导入了一个JavaScript文件,即FusionMaps.js,并且其中包含所有功能,例如setDataURL。 我在javascript中执行此操作以呈现图表:

          <script> 
var  map = new FusionMaps("/gra/swf/Maps/FCMap_World.swf", "Map1Id", "750", "400", "0", "0"); 
     map.SetDataURL(URL of the dataxml);
         </script>

图表仅在URL有效时显示地图,否则显示无效URL错误,我尝试使用文件协议(File:/// c:/cmls/mtxml.xml),但它不起作用。 是否由于Flash沙箱安全模型而不允许访问swf文件域之外的资源? 因为您可以看到swf文件位于其他路径..(该路径在web-app中。)

是的,所以在我们进行评论后,我们终于找到了造成问题的原因。

您正在使用Javascript执行此操作,因此它在客户端。 客户端计算机无法在您的计算机上看到任意路径(如果可以,您可以想象其中的含义吗?)

您有2个选择:

  1. 将xml放入您的webapp中(您知道这可行)
  2. 编写一个服务器,该服务器在执行时将从任意文件夹返回xml。

除非您有强烈的理由要使用#2,否则将选择#1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM