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

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

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

Регистрация: Aug 2007
Адрес: Ukraine, Kyiv
Сообщений: 643
Отправить сообщение для olexandr с помощью ICQ Отправить сообщение для olexandr с помощью MSN Отправить сообщение для olexandr с помощью Skype™
По умолчанию Множественная загрузка. URLLoader и SecurityError #2176

Всем привет.

Банальная проблема, которая возникала у многих, но решения в Google и на нашем форуме не нашел.
Может быть, кто-то знает решение проблемы или предложит другой вариант реализации.

Имеется загрузчик фотографий. Загружаем, обрабатываем и отправляем. Первая фотка уходит нормально, поскольку отправляется в следствии MouseEvent'а. А вот со второй фоткой начинаются проблемы:
Цитата:
SecurityError: Error #2176: Certain actions, such as those that display a pop-up window, may only be invoked upon user interaction, for example by a mouse click or button press.
Код, в общем-то, банальный:
Код AS3:
var _name:String = _names[_iterator];
var _bytes:ByteArray = _bytes[_iterator] as ByteArray;
 
var _vars:URLVariables = new URLVariables();
_vars[...] = ...;
 
var _request:URLRequest = new URLRequest(Config.URL_UPLOAD);
_request.method = URLRequestMethod.POST;
_request.contentType = 'multipart/form-data; boundary=' + UploadPostHelper.getBoundary();
_request.data = UploadPostHelper.getPostData(_name, _bytes, _vars);
_request.requestHeaders.push(new URLRequestHeader('Cache-Control', 'no-cache'));
 
_loader.load(_request);
Есть решение моей проблемы или нет? Подозреваю, что нет.
Тогда возникает другой вопрос - может быть имеет смысл отправлять все за одну итерацию?
Объединить все ByteArray в один? Или может быть, можно отправить массив ByteArray'ев?
__________________
сайт, vk

Старый 17.01.2012, 15:16
olexandr вне форума Посмотреть профиль Отправить личное сообщение для olexandr Посетить домашнюю страницу olexandr Найти все сообщения от olexandr
  № 3  
Ответить с цитированием
olexandr
 
Аватар для olexandr

Регистрация: Aug 2007
Адрес: Ukraine, Kyiv
Сообщений: 643
Отправить сообщение для olexandr с помощью ICQ Отправить сообщение для olexandr с помощью MSN Отправить сообщение для olexandr с помощью Skype™
Я видел этот пример, но не разобрался. Что конкретно мне отуда нужно взять?

и
Код AS3:
new URLRequestHeader('Content-type', 'multipart/form-data');
, и
Код AS3:
new URLRequestHeader('Content-type', 'application/octet-stream');
я пробовал добавлять к своему методу. Это не помогло...
__________________
сайт, vk

Старый 17.01.2012, 16:26
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 4  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Цитата:
It could be possible that contentType does not refer to what data you send, but to what data you receive. Try to set the requestHeaders, that should work:
Код AS3:
urlRequest.requestHeaders.push(new URLRequestHeader('Content-type', 'multipart/form-data'));
Другими словам, не трогайте _request.contentType

Старый 18.01.2012, 14:37
olexandr вне форума Посмотреть профиль Отправить личное сообщение для olexandr Посетить домашнюю страницу olexandr Найти все сообщения от olexandr
  № 5  
Ответить с цитированием
olexandr
 
Аватар для olexandr

Регистрация: Aug 2007
Адрес: Ukraine, Kyiv
Сообщений: 643
Отправить сообщение для olexandr с помощью ICQ Отправить сообщение для olexandr с помощью MSN Отправить сообщение для olexandr с помощью Skype™
вроде все заработало. спасибо!

окончательный вариант:
Код AS3:
var _request:URLRequest = new URLRequest(Config.URL_UPLOAD);
_request.method = URLRequestMethod.POST;
_request.data = UploadPostHelper.getPostData(_name, _bytes, _vars);
_request.requestHeaders.push(new URLRequestHeader('Cache-Control', 'no-cache'));
_request.requestHeaders.push(new URLRequestHeader('Content-type', 'multipart/form-data; boundary=' + UploadPostHelper.getBoundary()));
+ были проблемы с crossdomain.xml. в итоге, как нагуглил на одном из сайтов посоветовали воспользоваться этим кроссдомейном.
__________________
сайт, vk

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

Теги
Error #2176 , securityerror , urlloader
Опции темы
Опции просмотра

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

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


 


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


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