Фрилансеры предложат решение вашей задачи уже через несколько минут!

Публикация заказа на фриланс бирже не займет много времени.

10 лет назад
Deby Gretchen
Deby Gretchen 
55 лет, Украина
11 лет в сервисе
Была онлайн 9 лет назад
10 лет назад

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

Програмлю в 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.length)
{
arg1[loc4].load(); //<--------------- ЗДЕСЬ ОШИБКА!!!!!
loc5 = new FileItem(arg1[loc4], this.movieName, this.file_index.length);
................................
loc4 = (loc4 + 1);
}

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


return;
}
................................


private var _loader : flash.display.Loader;

private var file_index:Array;

private var fileTypes:String;

private var restoreExtIntTimer:flash.utils.Timer;

private var valid_file_extensions:Array;

private var fileBrowserMany:flash.net.FileReferenceList;

private var image:flash.display.Bitmap;

private var file_queue:Array;

private var current_file_item:FileItem=null;

private var fileBrowserOne:flash.net.FileReference=null;

private var fileTypesDescription:String;

private var uploadURL:String;

private var movieName:String;

private var successful_uploads:Number=0;

private var _fileRef:flash.net.FileReference;
}
}

  1. Прием заявок
  2. Выбор исполнителя
  3. Выполнение заказа
  4. Обмен отзывами

Нет заявок

Другие заказы в категории «Веб-программирование»

Здесь заказчик и фрилансеры могут обсуждать заказ до начала его выполнения.
Фрилансеры могут участвовать в обсуждении только после подачи заявки.
Здесь заказчик будет контролировать выполнение заказа и общаться с исполнителем.
Доступ к этому разделу имеют только заказчик и выбранный исполнитель.
Все материалы этого раздела закрыты от поисковых систем.