2010-01-12 64 views
0

我正在開發一個從csv文件獲取數據的flex圖表web應用程序。這個應用程序應該安裝在客戶端的網站上。客戶端使用Web服務器管理系統,其中生成的URL非常長,並且包含非字母數字字符。一個例子如下:從csv獲取數據到彈性圖表

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。但是這兩種方法都失敗了。

任何想法?

我理想情況下希望遠離絕對URL,因爲如果圖表需要移動到另一個位置,那麼這會破壞。

感謝
維納亞克

+0

是您的測試框和客戶端框中的操作系統相同。我的意思是在unix中使用「/」,但在窗口中使用「\」 另外,如果每個URL首先路由到它,管理軟件可能會阻止您的CSV內容。將SWF和csv放入同一目錄並檢查 – Rajat 2010-01-14 20:38:42

+0

您的測試服務器上的csv文件引用是否相同?這是否發生在所有瀏覽器上?什麼是與IOErrorEvent相關的錯誤消息?如果將csv文件引用直接放入瀏覽器地址欄,會發生什麼? – 2010-01-14 20:47:19

+0

@Maffel:如果我直接在瀏覽器的地址欄中輸入CSV文件,它會給我一個404文件找不到的錯誤。 @Rajat:我已將CSV和SWF放入同一文件夾併發送給客戶端進行部署。等待他們的迴應。 – Vinayak 2010-01-19 06:40:50

回答

1

嗯,我不不知道該說些什麼。對服務器不太瞭解,我不得不求助於我能想到的一系列事情。無可否認,這些中的一些只是黑暗中的刺。總的來說,這似乎是一個服務器端問題,並且作爲一個前端開發人員,你不能期望解決這個問題。我知道讓應用程序工作是這裏的優先事項,但如果您無法訪問服務器,那麼您可以針對此問題做很多事情。

首先讓我們消除完全明顯的。文件結尾肯定應該是.html而不是.csv

我最初的想法是,CMS以某種方式阻止Flash加載內容,但允許瀏覽器訪問它。由於它不會允許有三個選項可以想到:

1)當您發出請求時,服務器或瀏覽器會對URL執行某些操作。嘗試安裝Firefox的LiveHTTPHeaderslink)附件,這將允許您查看原始HTTP請求和響應。可能會有一些影響請求的服務器端重定向。 HTTP標題也可以幫助你。

2).csv文件保存在Web服務器沒有讀取權限的文件夾中。 3)也許你需要用HTTPS而不是HTTP。這會有點奇怪,因爲你首先從服務器獲取URL。客戶端服務器管理員應該能夠爲你解決這個問題。

4)我不確定如果處理您的請求的腳本是Python,會發生什麼情況。在Python中,冒號是目錄分隔符,因此可能會丟掉所有的東西。

5)在交給你之前,客戶管理系統對URL做了一些奇怪的事情。雖然我不確定你會如何測試這個。

就是這樣我想。我現在沒有想法。對於測試,我會忘記Flex應用程序,並首先嚐試來自瀏覽器地址欄的請求。由於該應用程序正在測試服務器上工作,因此該問題不應該是您的代碼。當你得到在瀏覽器上工作的請求時,如果他們仍然不能從Flex工作,那麼它就是你的代碼。

+0

我們發現了這個問題。客戶端的管理系統正在更改csv數據文件夾的文件夾名稱,並將其替換爲隨機生成的數字。我們通過將所有文件放在同一個文件夾中解決了這個問題。謝謝你的幫助。部分功勞歸於@Rajat,但我認爲沒有辦法接受評論作爲答案。 – Vinayak 2010-01-20 11:45:56

1

我不知道有多少幫助,但它有一個as3 CSVLib

關於IOError,您可以粘貼文本嗎? 如果你聽的IOErrorEvent和跟蹤event.text處理, 你應該與此類似:

Error #2035: URL Not Found. URL: yourFile.csv 

HTH, 喬治

+0

謝謝喬治。圖書館當然有用。是的,這是給URL未發現錯誤。 – Vinayak 2010-01-19 06:41:48

+0

重點是查看您的情況的'URL:yourFile.csv'位並修復您的應用程序的路徑。祝你好運! – 2010-01-19 12:37:34