Получение данных в гибкие графики из CSV - PullRequest
0 голосов
/ 12 января 2010

Я занимаюсь разработкой веб-приложения для создания диаграмм, которое получает данные из CSV-файлов. Это приложение должно быть установлено на веб-сайте клиента. Клиент использует систему управления веб-сервером, где сгенерированные 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), так и абсолютную ссылку на URL файла CSV. Но оба подхода потерпели неудачу.

Есть идеи?

В идеале я бы хотел избежать абсолютных URL-адресов, поскольку это может привести к сбою, если диаграммы будут перемещены в другое место.

Спасибо
Винаяк

Ответы [ 2 ]

1 голос
/ 19 января 2010

Хмм, я не знаю, что сказать на самом деле. Не зная много о сервере, мне придется прибегнуть к списку вещей, которые я могу придумать. Некоторые из них по общему признанию - просто удар в темноте. В целом, похоже, что это проблема на стороне сервера, и как разработчик внешнего интерфейса вы не можете решить эту проблему. Я знаю, что получение приложения для работы является приоритетом здесь, но если у вас нет доступа к серверу там, вы не можете сделать много для этой проблемы.

Сначала давайте исключим совершенно очевидное. Окончание файла определенно должно быть .html, а не .csv?

Моя первоначальная мысль заключалась в том, что CMS каким-то образом блокирует загрузку содержимого Flash, но позволяет браузеру получать к нему доступ. Так как этого нельзя допустить, на ум приходят три варианта:

1) Сервер или браузер что-то делает с URL при отправке запроса. Попробуйте установить дополнение LiveHTTPHeaders ( link ) для Firefox, которое позволит вам просматривать необработанные HTTP-запросы и ответы. Могут быть некоторые перенаправления на стороне сервера, которые влияют на запрос. Заголовки HTTP также должны помочь вам в этом.

2) Файлы .csv хранятся в папке, к которой веб-сервер не имеет доступа для чтения.

3) возможно, вам нужно использовать HTTPS вместо HTTP. Это было бы немного странно, так как вы получаете URL с сервера. Администратор сервера клиента должен быть в состоянии решить это за вас.

4) Я не уверен, что произойдет, если скрипт, который обрабатывает ваш запрос, является Python. В Python двоеточия являются разделителями каталогов, так что это может отбросить все это.

5) Система управления клиентами делает что-то странное с URL-адресом перед его передачей вам. Хотя я не уверен, как ты это проверишь.

Вот и я думаю. У меня пока нет идей. Для тестирования я бы забыл приложение flex и сначала попробовал запросы из адресной строки браузера. Поскольку приложение работает на вашем тестовом сервере, проблема не должна быть в вашем коде. Когда вы получаете запросы для работы в браузере, если они по-прежнему не работают из Flex, тогда это ваш код.

1 голос
/ 17 января 2010

Я не знаю, насколько это помогает, но есть as3 CSVLib .

О IOError, не могли бы вы вставить текст? Если вы прослушиваете IOErrorEvent и трассируете event.text в обработчике , вам следует что-то похожее на это:

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

НТН, George

...