Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.09.2013, 12:58
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 1  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
По умолчанию FileReference крашит плеер при попытке повторной загрузки файла

Код один в один взят из хэлпа.

1. Грузим картинку test.jpg. Она, естественно, грузится.
2. Не закрывая клиента, открываем ее редактором, меняем, например, размер холста и сохраняем под тем же именем test.jpg.
3. Пытаемся повторно загрузить картинку test.jpg - выполнение доходит до fileRef.load() и все с грохотом падает, что на сайте, что в локальном дебагплеере.

Как обработать ситуацию?

Кусок код загрузки, если кому лень лезть в хэлп:

Код AS3:
private function upload() : void 
{
	fileRef = new FileReference(); 
	fileRef.addEventListener(Event.SELECT, selectHandler); 
	fileRef.addEventListener(Event.COMPLETE, completeHandler); 
	fileRef.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, uploadCompleteDataHandler);
	fileRef.addEventListener(ProgressEvent.PROGRESS, progressHandler);
 
	var imageTypes:FileFilter = new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)", "*.jpg; *.jpeg; *.gif; *.png"); 
	var allTypes:Array = new Array(imageTypes); 
 
	try 
	{ 
		var success:Boolean = fileRef.browse(allTypes); 
	} 
	catch (error:Error) 
	{ 
		trace("Unable to browse for files."); 
	} 
}
 
private function selectHandler(e:Event):void 
{ 
	trace("selectHandler: name=" + fileRef.name );
	fileRef.load();
}
Добавлено через 50 минут
В общем, проблема оказалась в том, что создавался экземпляр FileReference на каждую загрузку. Пока грузили файлы с разными именами - все было ок.

Сделал так, чтобы объект FileReference в приложении был в единственном экземпляре и и все заработало.

Старый 02.09.2013, 14:59
Psijic вне форума Посмотреть профиль Отправить личное сообщение для Psijic Найти все сообщения от Psijic
  № 2  
Ответить с цитированием
Psijic

Регистрация: Aug 2012
Сообщений: 108
нужна защита от дурака - чтобы второй раз не вызывался пока первый не закрыт

Старый 02.09.2013, 15:02
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 3  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
опять посоветаю сменить плеер
__________________
Марк Tween

Старый 04.09.2013, 02:01
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 4  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Цитата:
опять посоветаю сменить плеер
Не, баг уверенно вылезал на разных версиях плеера.

Создать новую тему Ответ Часовой пояс GMT +4, время: 13:48.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 13:48.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.