2010-04-07 3 views
0

У моего клиентского приложения Flex есть некоторые данные из задней части (RemoteObjects, BlazeDS, Spring). У клиента есть все необходимые данные, теперь ему нужно поместить некоторую информацию в формате CSV и сделать ее доступной для загрузки.Загрузить файл Flex 3 - Без URLRequest

Использование Flex 3 для этого. Есть идеи?

Спасибо, Шри

ответ

3

При компиляции для Flash Player 10, то вы можете вызвать функцию FileReference.save() сохранить в локальной файловой системе:

http://help.adobe.com/en_US/FlashPlatform//reference/actionscript/3/flash/net/FileReference.html#save()

Просто убедитесь, что вы обратите внимание в этом разделе:

В Flash Player вы можете использовать этот метод только в ответ на событие пользователя (например, в обработчике событий для нажатия кнопки мыши или нажатия клавиши). В противном случае вызов этого метода приводит к тому, что Flash Player выбрасывает исключение Error. Это ограничение не распространяется на содержимое AIR в изолированной программной среде приложения.

Единственная альтернатива, если вы не можете скомпилировать Flash Player 10, - это отправить данные на сервер и загрузить ее оттуда в виде CSV.

Вы можете сделать это с FileReference.download() в simlar образом save(): http://help.adobe.com/en_US/FlashPlatform//reference/actionscript/3/flash/net/FileReference.html#download()

+0

Спасибо за ваш ответ .. – Sri

0

К сожалению, вы не можете это сделать. Вы должны использовать FileReference + URLRequest, вы не можете создать «на лету» файл, доступный для загрузки в Flash Player. Обходной способ заключается в том, чтобы отображать ваши данные в текстовом файле и разрешать пользователю копировать/вставлять. Конечно, он работает, только если у вас есть небольшой объем информации.

+0

На самом деле, так как Flash Player 10 вы можете создавать файлы на клиенте. –