Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   FileReference.Save() - дважды? (http://www.flasher.ru/forum/showthread.php?t=212557)

Scooter_zav 11.03.2016 22:52

FileReference.Save() - дважды?
 
Дамы и господа...сабж! Первый раз вызывается для сохранения в текстовый файл. Далее слушается событие COMPLETE и вызывается второй раз (в другом классе) для сохранения изображения.
В самом Flash Professional все работает. В браузере (проверял Chrome и Yandex) - открывается только одно окно с сохранением txt, второе (для Jpeg) - нет. В чем может быть разница работы из среды и в браузере?
Код AS1/AS2:

fileReference.save(repStr, "Спецификация на кухню.txt");
//--Ждем завершения сохранения
fileReference.addEventListener(Event.COMPLETE, SaveComplete);
 
private function SaveComplete(e: Event): void {
//--После сохранения отчета создаем и сохраняем эскиз
var draft:Draft = new Draft(ID);
draft.Save();
}

Класс Draft
Код AS1/AS2:

 
public function Save() {
MainClass.status.Show("Дошли до драфта"); //--ДОХОДИТ всегда
fileReference.save(JPGbyteArray, "Эскиз.jpg");
}


dimarik 11.03.2016 23:07

Может быть это связано с тем, что второе сохранение делается не в том же стеке вызовов, что и первое, которое было инициировано интерактивным действием пользователя. Попросту вы хотите обмануть систему безопасности флеша и столкнулись с этим. Типа нельзя без согласия пользователя в Flash player сохранить что-то без явной команды от пользователя. Более глубокий разбор ситуации можно уточнить у гугла по ключевой фразе "flash player security whitepaper".

Scooter_zav 12.03.2016 00:57

хм...защита - это конечно хорошо. Но какие в таком случае есть решения моей простой задачи? Ведь по сути, нужно всего лишь 2 раза вызвать диалоговое окно "Сохранить".

caseyryan 12.03.2016 10:13

Цитата:

Но какие в таком случае есть решения моей простой задачи? Ведь по сути, нужно всего лишь 2 раза вызвать диалоговое окно "Сохранить".
Кэп мне тут подсказывает, что надо показать юзеру 2 кнопки сохранить, для каждого действия

Tails 12.03.2016 10:17

Либо упаковать все в архив и сохранять его, например .zip

Scooter_zav 12.03.2016 11:57

Про 2 кнопки уже думал. Увы, нельзя давать возможности сохранить отчет без эскиза и наоборот. Про архив - хорошая идея.

Спасибо всем!

undefined 12.03.2016 13:22

Цитата:

Сообщение от Scooter_zav (Сообщение 1192556)
Про 2 кнопки уже думал. Увы, нельзя давать возможности сохранить отчет без эскиза и наоборот. Про архив - хорошая идея.

Спасибо всем!

Ты не понял.Любое сохранение должно быть инициировано юзером т.е. должен быть клик, по которому диалог сохранения открывается.


Часовой пояс GMT +4, время: 16:54.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.