
Код:
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();
Скрипт
работает, т.е. файлы отправляются на сервер, единственно что вылазит вот то сообщение примерно минут через пять работы если указать в нем что не прерывать работы мувика, мувик аплоадит до конца и прерывает работу, т.е. выполняет то что ему нужно.