我正在开发一个Flex图表Web应用程序,它从csv文件中获取数据。该应用程序应该安装在客户端的网站上。客户端使用Web服务器管理系统,其中生成的URL非常长并且包含非字母数字字符。下面给出一个例子:
http://www.example.com/EXTERNAL/ORGANIZATION/0,,contentMDK:20135608~pagePK:64060242~piPK:64060289~theSitePK:299948,00.html
问题是在我的测试服务器上,应用程序运行正常。但是,当部署在客户端站点上时,应用程序和图表会加载,但CSV数据无法加载。给出的错误是:
Input output error: IO_ERROR
我已经尝试了两个相对引用(相对于swf文件)和对csv文件的URL的绝对引用。但这两种方法都失败了。
有什么想法吗?
我希望远离绝对网址,因为如果图表需要移动到其他位置,这会破坏。
感谢
维纳亚克
答案 0 :(得分:1)
我不知道它有多大帮助,但有as3 CSVLib可用。
关于IOError,可以粘贴文字吗? 如果您在处理程序中侦听 IOErrorEvent 并跟踪 event.text , 你应该有类似的东西:
Error #2035: URL Not Found. URL: yourFile.csv
HTH, 乔治
答案 1 :(得分:1)
首先让我们消除完全明显的。文件结尾肯定是.html
而不是.csv
吗?
我最初的想法是,CMS以某种方式阻止Flash加载内容,但允许浏览器访问它。因为它不允许有这三种选择:
1)当您发出请求时,服务器或浏览器会对URL执行某些操作。尝试为Firefox安装LiveHTTPHeaders
(link)添加,这将允许您查看原始HTTP请求和响应。可能存在一些影响请求的服务器端重定向。 HTTP标头也可以为您提供帮助。
2).csv文件保存在Web服务器没有读取权限的文件夹中。
3)也许你需要使用HTTPS
代替HTTP
。这有点奇怪,因为您首先从服务器获取URL。客户端服务器管理员应该能够为您排序。
4)我不确定如果处理你的请求的脚本是Python会发生什么。在Python中,冒号是目录分隔符,因此可能会抛弃整个内容。
5)客户管理系统在递交给您之前对URL执行了一些奇怪的操作。虽然我不确定你会如何测试它。
我认为就是这样。我现在没有想法。对于测试,我会忘记flex应用程序,只是首先尝试来自浏览器地址栏的请求。由于应用程序正在您的测试服务器上运行,因此该问题不应该是您的代码。当您收到在浏览器上工作的请求时,如果它们仍然无法在Flex中运行,那么它就是您的代码。