Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   URLLoader: загрузка содержимого файла>4кб (http://www.flasher.ru/forum/showthread.php?t=119912)

illum 06.01.2009 15:23

URLLoader: загрузка содержимого файла>4кб
 
Если подгружаю текстовый файл размером более 4 кб в результате получаю абракадабру региона объясняет
Пробовал unescape - не решило проблему. Фрагмент кода:
Код:

function load_text() {
        var myloader:URLLoader = new URLLoader();
        var myrequest:URLRequest = new URLRequest("file.txt");
        myrequest.method = URLRequestMethod.POST;
        myloader.addEventListener(Event.COMPLETE, complete_load_text);
        myloader.load(myrequest);
}
function complete_load_text(event:Event):void {
        var myloader:URLLoader = URLLoader(event.target);
        var vars:URLVariables = new URLVariables(myloader.data);
        somefield.text=myloader.data;
}


etc 06.01.2009 15:32

useCodepage используется?

illum 06.01.2009 15:35

Цитата:

Сообщение от __etc (Сообщение 788443)
useCodepage используется?

используется

etc 06.01.2009 15:40

Не используйте.

illum 06.01.2009 16:10

Цитата:

Сообщение от __etc (Сообщение 788447)
Не используйте.

отключил - весь текст стал арабский, а так только та часть, которая вылезала за рамки 4 кб. Даже не знаю, где грабли искать, POST вроде как не имеет ограничений на пересылаемые данные, менял кодировку файла - тоже результата не дало.

etc 06.01.2009 16:24

Кодировка должна быть utf-8.

Alex Lexcuk 06.01.2009 17:45

Вот это не надо
Код:

myrequest.method = URLRequestMethod.POST;
...
var myloader:URLLoader = URLLoader(event.target);
var vars:URLVariables = new URLVariables(myloader.data);

Демка в первом кадре Flash CS3 загружает 71 килобайт кодировки win1251
Код:

var myloader:URLLoader;
loadText();

function loadText() {
        myloader = new URLLoader();
        var myrequest:URLRequest = new URLRequest("http://www.flasher.ru/forum/showthread.php?t=119912");
        myloader.dataFormat = URLLoaderDataFormat.BINARY;
        myloader.addEventListener(Event.COMPLETE, complete_load_text);
        myloader.addEventListener(ProgressEvent.PROGRESS,progressHandler);
        myloader.load(myrequest);
}
function complete_load_text(event:Event):void {
        var ba:ByteArray = myloader.data as ByteArray;
        var str:String = new String(ba.readMultiByte(ba.length, 'windows-1251'));
        trace(str);
}

function progressHandler(evt:ProgressEvent):void{
trace("progressHandler loaded:" + evt.bytesLoaded + " total: " + evt.bytesTotal);
}



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

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