Определение размера данных через URLLoader (AS3)

Я работаю над проектом и столкнулся с небольшой проблемой из-за ограничения бэкэнда, который я использую для своей программы.

Прежде всего, мой вопрос: «Могу ли я измерить размер данных текста с помощью URLLoader?».

Я делаю приложение, которое требуется для получения и отправки большого количества данных, но серверная часть, которую я использую, ограничивает меня возможностью отправлять только 1024 за раз.

Бэкэнд называется «Scoreoid», он действительно хорош для игр, управления пользователями и тому подобного, но я использую его немного по-другому.

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

Таким образом, я мог определить, какую часть массива я могу отправить за раз.

Вот код, который они предоставляют:

function getGame():void 
{

var url:String = "API URL";
var request:URLRequest = new URLRequest(url);
var requestVars:URLVariables = new URLVariables();
request.data = requestVars;
requestVars.api_key = "YOUR API KEY";
requestVars.game_id = "YOUR GAME ID";
requestVars.response ="XML"
    requestVars.username ="Players Username"
    requestVars.key ="Your Key"
    requestVars.value ="Key Value"
    request.method = URLRequestMethod.POST;

var urlLoader:URLLoader = new URLLoader();
    urlLoader = new URLLoader();
    urlLoader.dataFormat = URLLoaderDataFormat.TEXT;
    urlLoader.addEventListener(Event.COMPLETE, loaderCompleteHandler);

    urlLoader.load(request);
}


function loaderCompleteHandler(event:Event):void 
{
trace("responseVars: " + event.target.data);
}

person Jesse Mount    schedule 18.02.2014    source источник
comment
это экшенскрипт?   -  person Leo    schedule 18.02.2014
comment
Да, извините, я только что вернулся, чтобы отметить это. это АС3   -  person Jesse Mount    schedule 18.02.2014


Ответы (1)


URLLoader класс имеет свойство bytesTotal. Вы должны быть в состоянии определить размер данных через него.

function loaderCompleteHandler(event:Event):void 
{
    trace("responseVars: " + event.target.data);
    trace("size: " + URLLoader(event.target).bytesTotal);
}
person Petr Hrehorovsky    schedule 18.02.2014
comment
Но это работает только при получении данных. Я пытаюсь отправить данные. Размер сообщает как 0 - person Jesse Mount; 20.02.2014
comment
Понимаю. Прошу прощения, из описания мне было непонятно. В любом случае, в этом случае я боюсь, что URLLoader не предоставляет такой метод. Если я правильно понимаю, вам нужно измерять данные, отправляемые через URLVariables? - person Petr Hrehorovsky; 20.02.2014