Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как работать с загруженным в FileRefence? (http://www.flasher.ru/forum/showthread.php?t=175897)

MikroAcse 26.02.2012 18:46

Как работать с загруженным в FileRefence?
 
Например, я загружаю (пример из Adobe.com):
Код AS3:

package 
{
    import flash.display.Sprite;
    import flash.events.*
    import flash.net.FileFilter;
    import flash.net.FileReference;
    import flash.net.URLRequest;
    import flash.utils.ByteArray;
 
    public class FileReferenceExample1 extends Sprite
    {
        private var fileRef:FileReference;
        public function FileReferenceExample1()
        {
            fileRef = new FileReference();
            fileRef.addEventListener(Event.SELECT, onFileSelected);
            fileRef.addEventListener(Event.CANCEL, onCancel);
            fileRef.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
            fileRef.addEventListener(SecurityErrorEvent.SECURITY_ERROR,
                        onSecurityError);
            var textTypeFilter:FileFilter = new FileFilter("Text Files (*.txt, *.rtf)",
                        "*.txt;*.rtf");
            fileRef.browse([textTypeFilter]);
        }
        public function onFileSelected(evt:Event):void
        {
            fileRef.addEventListener(ProgressEvent.PROGRESS, onProgress);
            fileRef.addEventListener(Event.COMPLETE, onComplete);
            fileRef.load();
        }
 
        public function onProgress(evt:ProgressEvent):void
        {
            trace("Loaded " + evt.bytesLoaded + " of " + evt.bytesTotal + " bytes.");
        }
 
        public function onComplete(evt:Event):void
        {
            trace("File was successfully loaded.");
            trace(fileRef.data);
        }
 
        public function onCancel(evt:Event):void
        {
            trace("The browse request was canceled by the user.");
        }
 
        public function onIOError(evt:IOErrorEvent):void
        {
            trace("There was an IO Error.");
        }
        public function onSecurityError(evt:Event):void
        {
            trace("There was a security error.");
        }
    }
}

Нет времени проверять, поэтому спрашиваю вас:
Что мне выдает fileRef.data, если я загрузил картинку или текстовый файл?

wvxvw 26.02.2012 18:56

ByteArray

MikroAcse 26.02.2012 18:57

Спасибо.
А для картинок нужен Encoder?
А для текстового файла?

Wolsh 26.02.2012 19:29

Для картинок нужен Loader.
А вот для текстовых файлов – в зависимости от, извините, формата, может и Encoder понадобиться.
Для общего случая String(), ByteArray#readMultiByte(), ByteArray#readUTF().

MikroAcse 26.02.2012 19:32

Большое спасибо!
А можно ли узнать url загруженного файла?
В AIR я знаю как узнать url, а тут я могу узнать только имя :(

Inet_PC 26.02.2012 19:40

Видимо нет.

MikroAcse 26.02.2012 19:43

Цитата:

Видимо нет.
Ты имеешь ввиду, что нельзя узнать URL?

alatar 26.02.2012 19:51

Полный путь к файлу узнать нельзя. Для безопасности.

MikroAcse 26.02.2012 20:03

Жаль...
Но спасибо!

alatar 26.02.2012 21:04

Чего жаль? Толку с этой информации все равно нет.

etc 26.02.2012 21:06

Цитата:

Сообщение от alatar (Сообщение 1065702)
Чего жаль? Толку с этой информации все равно нет.

Именно, всё равно его будет невозможно загрузить.


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

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