Проблема с load() в flash.net.FileReference

Deby17 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
11.12.2009

Здравствуйте.

Програмлю в Flash ActionScript CS4.

Тестю в браузере (это ВЕБ направленая флеха) Google Chrome, Mozilla FireFox

Столкнулся с проблемой и даже в голову не приходит в чем причина.

Что я имею:

1.Имею готовую библиотеку, которая состоит из FLA файла в котором прорисовываетца кнопка.

2.По нажатию этой кнопки запускаем FileReferenceList.browse

3.После того как отработал browse и юзер выбрал файлы с массива файлов создаетца новый список и по нажатию другой кнопки они методом

4.FileReference.upload грузяца на сервер.

Что я хочу получить

в моем случае мои файлы всегда картинки

a)я хочу перехватить загрузку файлов на сервер и перед загрузкой каждого файла зделать следуеще:

b)загрузить картинку методом FileReference.load отдать дату на Bitmap и проресайзить

c)а после с помощью urlLoader - а загрузить на сервер. И так каждую картинку.

Тогда у меня начались проблемы:

ReferenceError: Error #1069: Не удалось найти свойство load в flash.net.FileReference; отсутствует значение по умолчанию.

..............

at SWFUpload/Select_Handler()

at SWFUpload/Select_Many_Handler()

в связи с этим я решил перекинуть FileReference.load в пункт 3.

тоесть сразу после отработки FileReferenceList.browse я пытаюсь загрузить файл во флешку.

Но ошибка осталась прежней - поменялось только место эксепшена.

У меня сложилось впечатление, что я просто не подключил какую то библиотеку.

напомню:

Програмлю в Flash ActionScript CS4.

Тестю в браузере (это ВЕБ направленая флеха) Google Chrome, Mozilla FireFox

Дельные советы будут вознаграждены материально....

Если что то надо делать не очевидное -

плачу соответственно больше за практическую помощь.

Заранее Всем Спасибо!

самые важные части кода (остальное здесь: http://depositfiles.com/files/3ann5ho3x):

package

{

import flash.display.*;

import flash.events.*;

import flash.external.*;

import flash.net.*;

import flash.system.*;

import flash.text.*;

import flash.utils.*;

public class SWFUpload extends flash.display.Sprite

{

public function SWFUpload()

{

................................

fileBrowserMany = new flash.net.FileReferenceList();

image = new flash.display.Bitmap();

file_queue = new Array();

file_index = new Array();

valid_file_extensions = new Array();

httpSuccess = [];

super();

if (!flash.net.FileReferenceList || !flash.net.FileReference || !flash.net.URLRequest || !flash.external.ExternalInterface || !flash.external.ExternalInterface.available || !flash.events.DataEvent.UPLOAD_COMPLETE_DATA)

{

return;

}

................................

this.fileBrowserMany.addEventListener(flash.events.Event.SELECT, this.Select_Many_Handler);

................................

this.stage.addEventListener(flash.events.MouseEvent.CLICK, function (arg1:flash.events.MouseEvent):void

{

self.ButtonClickHandler(arg1);

return;

})

................................

return;

}

................................

private function ButtonClickHandler(arg1:flash.events.MouseEvent):void

{

if (!this.buttonStateDisabled)

{

if (this.buttonAction !== this.BUTTON_ACTION_SELECT_FILE)

{

if (this.buttonAction !== this.BUTTON_ACTION_START_UPLOAD)

{

this.SelectFiles();

}

else

{

this.StartUpload();

}

}

else

{

this.SelectFile();

}

}

return;

}

................................

private function SelectFiles():void

{

var allowed_file_types:String;

var allowed_file_types_description:String;

var loc1:*;

allowed_file_types = "*.*";

allowed_file_types_description = "All Files";

if (this.fileTypes.length > 0)

{

allowed_file_types = this.fileTypes;

}

if (this.fileTypesDescription.length > 0)

{

allowed_file_types_description = this.fileTypesDescription;

}

this.Debug("Event: fileDialogStart : Browsing files. Multi Select. Allowed file types: " + allowed_file_types);

ExternalCall.Simple(this.fileDialogStart_Callback);

try

{

this.fileBrowserMany.browse([new flash.net.FileFilter(allowed_file_types_description, allowed_file_types)]);

}

catch (ex:Error)

{

this.Debug("Exception: " + undefined.toString());

}

return;

}

................................

private function Select_Many_Handler(arg1:flash.events.Event):void

{

this.Select_Handler(this.fileBrowserMany.fileList);

return;

}

................................

private function Select_Handler(arg1:Array):void

{

................................

var loc4:*;

loc4 = NaN;

................................

loc4 = 0;

while (loc4

{

arg1[loc4].load(); //