Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Как сохранить XML у клиента? (http://www.flasher.ru/forum/showthread.php?t=121213)

Foli 10.02.2009 14:54

Как сохранить XML у клиента?
 
Всем привет. :umnik2:

Есть у меня XML обьект загруженный в DataGrid.
Есть кнопочка "Сохранить". Надо сохранить содержимое XML объекта к пользователю на компьютер. Как записывать в файл - не важно.
Мне не понятно, как это всё работает. :umnik2:
Нужно вызвать диалог для сохранения? Как? Что потом?

Кто знает, прошу помочь. :umnik2:

KODERart 10.02.2009 15:27

Просто из флекса на клиентскую машину ничего не записать. Можно отправить файл web-серверу, тот его передаст браузеру, а браузер предложит сохранить.

DarkLight 10.02.2009 15:33

Можно напрямую в 10м флеш плеере через FileReference.save()

Alex Lexcuk 10.02.2009 22:11

>>Можно напрямую в 10м флеш плеере через FileReference.save()

Как сделать из ByteArray файл и сохранить его методом FileReference.save()???

Насколько я пробовал FileReference сохраняет только файл, а раз файла нет - то он и не сохранит ничего. (Только Air как-то это делает)

Foli 11.02.2009 00:21

Всем спасибо за ответы.

Цитата:

Сообщение от KODERart
Просто из флекса на клиентскую машину ничего не записать. Можно отправить файл web-серверу, тот его передаст браузеру, а браузер предложит сохранить.

Вы не совсем правы. :umnik2: В 9ке можно было сохранить кое что ;)
http://livedocs.adobe.com/flash/9.0/...redObject.html

Цитата:

Сообщение от DarkLightKODER
Можно напрямую в 10м флеш плеере через FileReference.save()

Спасибо. Помогло. Всё чудно работает. Пришлось только SDK 3.2 и 10й плеер установить.

Добавлено через 5 минут
Цитата:

Сообщение от Alex Lexcuk
Как сделать из ByteArray файл и сохранить его методом FileReference.save()???

По-моему, очень просто

Код AS3:

var ba:ByteArray = то что тебе надо!
file.save(ba,'имя твоего файла');

Цитата:

Сообщение от Alex Lexcuk
Насколько я пробовал FileReference сохраняет только файл, а раз файла нет - то он и не сохранит ничего. (Только Air как-то это делает)

Перечитал несколько раз. Ничего не понял. :umnik2:

Alex Lexcuk 11.02.2009 01:24

>>Перечитал несколько раз. Ничего не понял.

Это я ничего не понимал, а вам Foli спасибо, потестил сохранялку под 10.
Код:

package {
        import flash.display.*;
        import flash.text.*;
        import flash.net.*;
        import flash.events.*;
        import flash.utils.*;
        public class SaveFileDoc extends Sprite {
                private var so:SharedObject,
                file:FileReference;
                public function SaveFileDoc():void {
                        var ba:ByteArray = new ByteArray();
                        file=new FileReference();
                        ba.writeUTFBytes("То что тебе надо");
                        file.save(ba,'имя твоего файла');
                }
        }
}

А
>>SharedObject
Это как продвинутые Куки, только для флешки.

Можно сохранить на комп строку ЗДЕСЬ БЫЛ САША!!!
Код:

package {
        import flash.net.*;
        import flash.display.*;
        public class SharedObjectDoc extends Sprite {
                private var so:SharedObject;
                public function SharedObjectDoc():void {
                        so = SharedObject.getLocal("bmpholder");//заиметь доступ
                        if (so.data.img == null) {
                                trace("МЕНЯ ТУТ НЕ БЫЛО ");
                                so.data.img = 'ЗДЕСЬ БЫЛ САША!!!';
                                so.flush();//типа записать
                        } else {
                                trace("Да был я тут уже");
                        }
                }
        }
}

При первой компиляции trace выдает

МЕНЯ ТУТ НЕ БЫЛО

При повторном включении флешки trace уже выдаст

Да был я тут уже

Потому что so.data.img уже как бы существует


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

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