Можно ли прочитать только первую строку файла с Actionscript? - PullRequest
1 голос
/ 15 октября 2008

У меня есть сайт на основе PHP, где мы позволяем пользователям загружать текстовый файл с разделенными запятыми данными, которые будут импортированы некоторыми серверными сценариями. Однако иногда нам нужно настроить порядок столбцов загружаемых данных, и было бы очень полезно, если бы мы могли определить столбцы в CSV-файле до загрузки.

Единственный способ получить доступ к локальному файловому вводу-выводу - использовать плагин Java или встроенный Flash-скрипт, и я бы предпочел последний. Есть ли способ во Flash выбрать текстовый файл на локальном жестком диске, а затем использовать ActionScript для проверки только первой строки (которая в данном примере соответствует заголовкам столбцов)?

Иногда эти файлы могут иметь размер> 100 МБ, поэтому загрузка всего этого в память, а затем выбрасывание всего, кроме первой строки, вероятно, не будет работать эффективно, поэтому мне интересно, есть ли в ActionScript синтаксис для ограничения количества данные считываются за один раз.

Ответы [ 4 ]

1 голос
/ 15 октября 2008

Не могли бы вы просто использовать PHP, чтобы получить первую строку вашего CSV-файла и затем передать эту строку данных на флэш-память?

Я могу быть совершенно не прав, но похоже, что человек, задающий этот вопрос, сделал что-то похожее с их PHP-кодом

Использование PHP для получения первой строки CSV-файла и создания таблицы MySQL с данными

1 голос
/ 15 октября 2008

Flash-фильмы не имеют доступа к локальной файловой системе, за исключением загрузки файлов на сервер.

Я думаю, что ваши варианты:

  1. Обработать класс на стороне клиента с помощью Java (тривиально), используя апплет. Однако, как вы правильно утверждаете, пользователь должен будет предоставить разрешения для апплета.
  2. Предоставьте небольшое клиентское приложение, написанное с использованием Adobe Air, с использованием API файловой системы .
0 голосов
/ 17 октября 2008

Flash Player 10, текущая версия поставки (только что выпущенная 2 дня назад), позволяет получить доступ к локальным файлам. Вы можете найти пример здесь:

http://www.mikechambers.com/blog/2008/08/20/reading-and-writing-local-files-in-flash-player-10/

Однако, вам нужно загрузить весь файл.

Если вы используете SWF-файл, работающий в Adobe AIR, вы можете прочитать только первую строку (он имеет более продвинутые файловые API).

Лучшим решением, вероятно, является создание PHP API, который возвращает только первую строку данных.

микрофонные камеры

mesh@adobe.com

0 голосов
/ 15 октября 2008

Текущая версия проигрывателя Flash может выбрать только файл для загрузки на сервер, требуя, чтобы вся обработка выполнялась на стороне сервера. Однако в следующей версии проигрывателя Flash 10 может считывать локальные файлы, не обращаясь к серверу.

Я не использовал эту функцию сам (пока), поэтому я не уверен, возможно ли прочитать только часть файла, но это становится меньшей проблемой, если все это локально.

Flash 10 в настоящее время находится в какой-то предварительной бета-версии, но я думаю, что она скоро появится.

РЕДАКТИРОВАТЬ: Вскоре, действительно, только что увидел это в моем читателе корма

...