Ограничение безопасности: как сохранить результаты запроса базы данных в локальный файл? - PullRequest
0 голосов
/ 02 января 2012

У меня возникли проблемы с обходом ограничения безопасности flex.

Сохранение файла - это, очевидно, действие, которое может быть вызвано только при взаимодействии с пользователем.

Проблема заключается в том, что послемой пользователь нажимает кнопку «Сохранить», мне нужно выполнить запрос к базе данных, чтобы получить данные для файла, который я хочу сохранить.

Поскольку Flex работает асинхронно, я должен выполнить вызов базы данных, а затем перехватить ResultEvent в другой функции.

В этой функции у меня больше нет события щелчка мышью пользователя.Как мне сохранить этот файл?

Пример:

protected function saveFile(event:MouseEvent):void
{
     ROWrapper.Controller.loadData();
}

protected function onDataLoaded(event:ResultEvent):void
{
     var XMLdata:XML = event.result as XML;
     var fr:FileReference = new FileReference();
     fr.save(XMLdata);
}


<s:Button x="283" y="254" label="Save" click="saveFile(event)"/>

1 Ответ

0 голосов
/ 04 января 2012

Можете ли вы сначала отобразить набор результатов в сетке данных, а затем активировать кнопку «Скачать» после того, как данные будут возвращены и сохранены в объекте массива?

Таким образом, пользователь может «просмотреть» данные и, в случае успеха, загрузить данные непосредственно из объекта кэшированного массива или из набора данных таблицы данных.

...