Показать сообщение отдельно
Старый 25.12.2009, 18:51
KIVagant вне форума Посмотреть профиль Отправить личное сообщение для KIVagant Найти все сообщения от KIVagant
  № 1  
Ответить с цитированием
KIVagant

Регистрация: May 2009
Сообщений: 34
Question Загрузка изображения (Loader) с другого хоста и crossdomain: не получается

Вопрос решен, сам дурак. Надо было по ссылке всего-лишь попробовать открыть Crossdomain, апач его не выдавал.

Помогите, пожалуйста. Как только в очередной раз сталкиваюсь с политикой безопасности - так и попадаю в тупик. В этот раз не могу обойти проблему с загрузкой аватара во флешку. Флешка грузится с домена А, аватар лежит на основном сервере (Б) в подкаталогах.


Вот код:
Код AS3:
			var context:LoaderContext = new LoaderContext();
			context.checkPolicyFile = true; // Заставляем проверить политику
			var ldr:Loader = new Loader(); 
			ldr.mask = rect; 
			var url:String = src;// "http://127.0.0.1/users/Avatar.jpg"; 
			var urlReq:URLRequest = new URLRequest(url); 
			ldr.load(urlReq, context);
			ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function() { A.Warning.show('Аватар не найден ' + src, null, 1, false); } );
			ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, function() {
				ldr.x = (100 - ldr.contentLoaderInfo.width) / 2;
			});
			avatarImg.addChild(ldr); // Добавляю к ранее созданному объекту
На обоих доменах в корневой папке лежит crossdomain.xml с содержимым:
Код:
<?xml version="1.0"?> 
<!-- http://www.foo.com/crossdomain.xml --> 
<cross-domain-policy> 
<allow-access-from domain="*" /> 
</cross-domain-policy>
Получаю ошибку:
SecurityError: Error #2122: Нарушение изолированной среды: BitmapData.draw: http://localhost/flash/flash.swf не может осуществить доступ к http://acc.ru/users/Avatar.jpg. Необходим файл политики, но, когда были загружены эти мультимедийные данные, флаг checkPolicyFile не был установлен.
at flash.display::BitmapData/draw()
at com.dVyper.utils::Alert/createBackground()
at com.dVyper.utils::Alert/show()
at classes.game::Blocks/loginOnClick()

Кстати, сами аватары при этом загружаются, но на событие onClick по логину почему-то выкидывает эту ошибку.

P.S.: Почему на этом форуме регулярно исчезает обработка тегов? Часто захожу в темы, где вместо нормального вида - сплошные BBCode. Жму "Предпросмотр сообщения" - первый раз нормально, второй раз исчезают кнопки "отправить" и в просмотре не обработаны теги.

P.P.S.: Только что проверил - самое интересное, что ошибка появляется при нажатии не на картинку, а именно на сторонний TextField, при котором вызывается вывод всплывающего сообщения. Уму не растяжимо...


Последний раз редактировалось KIVagant; 26.01.2010 в 13:37.