![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 16
|
Добрый день,
написал простенький аплоадер файлов на сервер через flash после выбора файлов происходит загрузка, которая длится некоторое время так вот примерно минут через пять выдается такое сообщение с выбором прервать или нет работу мувика: Цитата:
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Где-то бесконечный цикл получается. Или рекурсия.
|
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
Цитата:
|
|
|||||
|
loading 50%
|
Цитата:
Цитата:
|
|
|||||
|
Регистрация: Jan 2007
Сообщений: 16
|
import flash.net.FileReferenceList;
import flash.net.FileReference;
var list:Array = new Array();
var item:FileReference;
var curnumber:Number = 0;
rec_mc._visible = false;
rec_mc.fillColor = 0x000066;
var listener:Object = new Object();
function Upload(i:Number)
{
item = list[i];
url="http://domain.ru/addfoto.php?action=upload&data="+escape(data);
trace("Upload "+item.name);
trace(item.addListener(listener));
item.upload(url);
}
listener.onSelect = function(fileRefList:FileReferenceList) {
trace("onSelect");
list = fileRefList.fileList;
rec_mc._visible = true;
com.text = "Выбранно всего файлов: "+list.length+"шт. Осталось "+((list.length-1)-curnumber)+"шт.";
trace("Выбранно файлов: "+list.length+"шт. Осталось ");
Upload(0);
}
listener.onCancel = function():Void {
trace("onCancel");
}
listener.onOpen = function(file:FileReference):Void {
trace("onOpen: " + file.name);
comment.text = "Загрузка: "+file.name;
}
listener.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void {
trace("onProgress with bytesLoaded: " + bytesLoaded + " bytesTotal: " + bytesTotal);
var percent = bytesLoaded/file.size;
drawRec(percent);
}
listener.onComplete = function(file:FileReference):Void {
trace("onComplete: " + file.name);
comment.text = "Загруженно";
curnumber++;
if(curnumber < list.length)
{
com.text = "Выбранно всего файлов: "+list.length+"шт. Осталось "+((list.length-1)-curnumber)+"шт.";
Upload(curnumber);
}
else
{
comment.text = "Все Загруженно";
getURL("http://domain.ru/");
}
}
listener.onHTTPError = function(file:FileReference, httpError:Number):Void {
trace("onHTTPError: " + file.name + " httpError: " + httpError);
comment.text = "error";
}
listener.onIOError = function(file:FileReference):Void {
trace("onIOError: " + file.name);
comment.text = "io error";
}
listener.onSecurityError = function(file:FileReference, errorString:String):Void {
trace("onSecurityError: " + file.name + " errorString: " + errorString);
comment.text = "sec error";
}
function drawRec(per) {
trace("drawrec"+per);
rec_mc.clear();
rec_mc.lineStyle(0);
rec_mc.beginFill(rec_mc.fillColor, 70);
rec_mc.lineTo(per*rec_mc._width, 0);
rec_mc.lineTo(per*rec_mc._width, rec_mc._height);
rec_mc.lineTo(0, rec_mc._height);
rec_mc.lineTo(0, 0);
rec_mc.endFill();
}
var fileRef:FileReferenceList = new FileReferenceList();
fileRef.addListener(listener);
fileRef.browse();
Последний раз редактировалось bleed; 30.01.2007 в 18:40. |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 16
|
Цитата:
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Судя по всему, ты не отписываешь своего листенера от событий предыдущего загруженного файла.
|
|
|||||
|
Регистрация: Jan 2007
Сообщений: 16
|
Цитата:
корректно ли так, если при первом вызове функции Upload ( Upload(0); ) когда listener еще не добавлен делать item.removeListener(listener); ? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Не так.
Ты уже пользуешь новый item, а не старый. Т.е. |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 16
|
Цитата:
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:28. |
|
|
« Предыдущая тема | Следующая тема » |
|
|