![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jul 2005
Сообщений: 57
|
Добрый день всем. Сделал скрипт мультизагрузки файлов. На локальном компе все нормально, аплоудится на ура, файлы загружаются. Выкладываю на сервер - почему то грузится только первый файл в списке и все... Может у кого то было нечто подобное? в какую сторону копать?...
Код прилагаю: import mx.events.CollectionEvent; import flash.net.FileReferenceList; import mx.collections.ArrayCollection; import flash.events.Event; import flash.external.ExternalInterface; import mx.controls.Alert; public var phpsesid:String; private function myFunc(val:String):void { phpsesid = val; } [Bindable] private var photos:ArrayCollection = new ArrayCollection; private var frList:FileReferenceList = new FileReferenceList; private function init():void { ExternalInterface.addCallback("func", myFunc); photos.addEventListener(CollectionEvent.COLLECTION_CHANGE,function():void { startUploadButton.enabled = (photos.length>0); clearPhotosButton.enabled = (photos.length>0); }); frList.addEventListener(Event.SELECT,addPhotos); } private function selectPhotos():void { var fileFilter:FileFilter = new FileFilter("Изображения jpeg", "*.jpg; *.jpeg; *.rar; *.zip"); frList.browse([fileFilter]); } private function addPhotos(e:Event):void { for (var i:uint = 0; i < frList.fileList.length; i++) { var elem:Object = new Object; elem.fr = FileReference(frList.fileList[i]); elem.fr.load(); elem.fr.addEventListener(Event.COMPLETE,refreshThumb); photos.addItem(elem); } } private function refreshThumb(e:Event):void { photosList.invalidateList(); } private function clearPhotos():void { photos.removeAll(); } public function clearPhoto(data:Object):void { photos.removeItemAt(photos.getItemIndex(data)); } private function startUpload():void { photosProgressContainer.visible = true; if (phpsesid == '' || phpsesid == null) { Alert.show('Не удалось провести иденцификацию! Попробуйте обновить страницу!'); } else { var request:URLRequest = new URLRequest(); request.url = "http://******/upload.php?psi=" + phpsesid; var fr:FileReference = photos.getItemAt(0).fr; fr.cancel(); fr.addEventListener(ProgressEvent.PROGRESS,uploadProgress); fr.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,uploadComplete); fr.upload(request); } } private function uploadProgress(e:ProgressEvent):void { photosProgress.setProgress(e.bytesLoaded,e.bytesTotal); } private function uploadComplete(e:DataEvent):void { test.text = test.text + e.data; photos.removeItemAt(0); if (photos.length > 0) startUpload(); else photosProgressContainer.visible = false; } private function cancelUpload():void { photos.getItemAt(0).fr.cancel(); photosProgressContainer.visible = false; } |
|
|||||
|
Modus ponens
|
Я бы за анонимные функции-обработчики сразу отправлял переписывать. А так - не знаю, а что вы сделали для того, чтобы диагностировать проблему?
Функции по загрузке нужно вызывать в ответ на событие мыши или клавиатуры. ЗЫ. Не делайте так никокгда: нет, наверное, ни одного языка, который бы не решил эту проблему лучше. В AS3 это делается так:
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Jul 2005
Сообщений: 57
|
Цитата:
Благодарю за подсказку! Учту. У меня функция вызывается после нажатия на кнопку "загрузить". Просто непонятно почему на локальном компе работает, а на сервер нет. Даже незнаю с чего можно начать "диагностику" в такой ситуации... |
|
|||||
|
Регистрация: Jul 2005
Сообщений: 57
|
да вроде все нормально....
|
![]() |
![]() |
Часовой пояс GMT +4, время: 15:14. |
|
|
« Предыдущая тема | Следующая тема » |
|
|