Показать сообщение отдельно
Старый 01.06.2013, 01:29
WisP вне форума Посмотреть профиль Отправить личное сообщение для WisP Найти все сообщения от WisP
  № 12  
Ответить с цитированием
WisP

Регистрация: Sep 2003
Сообщений: 28
Потому что ваш цикл (полагаю, что "}" потерялась перед объявлением первой функции) обрабатывается до того как происходит событие COMPLETE. И когда выполняется onLoaderComplete то цикл уже завершен. Следовательно будет сохранено первое изображение с именем imgList[1].name, а потом оно будет перезаписано вторым изображение с тем же именем.

Добавлено через 9 минут
Код AS3:
var nameQuant:int;
for (var i:int = 0; i < imgList.length; i++)
{
	var image:ByteArray = imgList[i].img;
	var loadIm:Loader;
	loadIm = new Loader();
	loadIm.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderComplete);
	loadIm.loadBytes(image);
}						
 
function onLoaderComplete(event:Event):void
{
	var newImg:BitmapData = new BitmapData(200, 200);
	var img:ByteArray;
	var vas:Bitmap = loadIm.content as Bitmap;
	newImg.draw(vas);
	img = new JPEGEncoder(90).encode(newImg);
	nameQuant++;
	upl(img, "image_"+nameQuant);
}
 
function upl(imag:ByteArray, imgName:String):void
{
	var loader:MultipartURLLoader = new MultipartURLLoader;
	loader.addVariable('imgName', imgName);
	loader.addFile(imag, imgName, 'imgData', 'image/jpeg');
	loader.load('http://upload.ro/up/bin-debug/upload.php');
	loader.addEventListener(Event.COMPLETE, onCompletes);
}