Просмотр полной версии : Не грузятся картинки
В приложении берется урл картинки, и через Loader подгружается и добавляется в кадр:
function GetPhotoP(event:MouseEvent){
var profLdr:Loader = new Loader();
var pictURL:String = photo;
var pictURLReq:URLRequest = new URLRequest(pictURL);
profLdr.contentLoaderInfo.addEventListener(Event.COMPLETE, imgLoaded);
profLdr.load(pictURLReq);
}
function imgLoaded(event:Event){
myBitmapData = event.target.content.bitmapData;
myBitmapImage = new Bitmap(myBitmapData);
var rel = myBitmapImage.width/myBitmapImage.height;
if (myBitmapImage.width>myBitmapImage.height){
myBitmapImage.width = 178;
myBitmapImage.height = myBitmapImage.width/rel;
}
else{
myBitmapImage.height = 178;
myBitmapImage.width = myBitmapImage.height*rel;
}
myBitmapImage.z = rel;
myBitmapImage.x = 466-myBitmapImage.width/2;
myBitmapImage.y = 175-myBitmapImage.height/2;
addChild(myBitmapImage);
}
Проблема в том, что локально это все замечательно работает и картинка отображается как положено, но стоило флэшку залить на сервер, как это всё перестало работать... В чем может быть проблема?
Добавлено через 5 минут
И еще один вопрос. Надеясь получить ответ на первый вопрос, хотелось бы еще вот что спросить: Как загружать несколько картинок не нарушаю очереди загрузки?
Т.е. если я для каждой картинки буду создавать новый экземпляр Loader, при загрузке третье изображение может загрузиться раньше чем первое. Есть ФИО и напротив фото, если делать моим методом, то картинки мешаются (у Васи Пупкина получается фото Пети Иванова, у Феди Сидорова - Васи Пупкина и т.п.)...
Заранее спасибо.
1) Нужно слушать SecurityErrorEvent.SECURITY_ERROR - возможно именно из-за этой ошибки проблема.
2) Можно либо создать наследника Loader-а, который будет знать кому он грузит картинки, либо создать объект куда вы будете записывать лоадеры и соответствующие ему ФИО.
1) Нужно слушать SecurityErrorEvent.SECURITY_ERROR - возможно именно из-за этой ошибки проблема.
2) Можно либо создать наследника Loader-а, который будет знать кому он грузит картинки, либо создать объект куда вы будете записывать лоадеры и соответствующие ему ФИО.
1) Из АдобХэлп: "Ошибки безопасности, о которых сообщается с помощью этого класса, обычно происходят в результате выполнения асинхронных операций, таких как загрузка данных, при которых нарушения политики безопасности могут выявляться в некоторой задержкой."
Как решается данная ошибка?
2) Смотрите, "который будет знать кому он грузит картинки" - в принципе единственная проблема, которую я логически не могу решить. У меня первоначально есть массив, в котором есть ФИО и путь к картинке. Как мне релизовать эту загрузку?
1) Из АдобХэлп: "Ошибки безопасности, о которых сообщается с помощью этого класса, обычно происходят в результате выполнения асинхронных операций, таких как загрузка данных, при которых нарушения политики безопасности могут выявляться в некоторой задержкой."
Как решается данная ошибка?
Вы сначала слушателя повешайте, убедитесь возникает ли она у вас. Если у вас идет междоменный http запрос то ван надо будет положить crossdomain.xml. Куда - сами разберетесь.
Смотрите, "который будет знать кому он грузит картинки" - в принципе единственная проблема, которую я логически не могу решить. У меня первоначально есть массив, в котором есть ФИО и путь к картинке. Как мне релизовать эту загрузку?
Я же 2 варианта уже предложил. Теперь сами думайте.
Спасибо, по первому ошибка возникает именно в этом событии, с crossdomain.xml конкретно непонятно...
Приложение находится на контактах, к ихнему crossdomain.xml я же никак не подберусь?
По второму, спасибо за варианты, логика ваших ответов была и у меня в голове, но мне нужно не вариант реализации, а сама реализация, т.к. я не понимаю как мне реализовать хотя бы один из вышепредложенных вариантов.
Если Вы мне все по полочкам раложите и объясните, буду Вам премногоблагодарен!
Загрузка картинок разрешена всегда, запрещено обращаться к содержимому (битмапдате), если файл политик не разрешает. Если Вконтакте не разрешает вам грузить картинки и обрабатывать как-то их содержимое - значит нельзя.
Как тогда мне загружать картинки?
Ведь другие же загружают.
Добавлено через 9 часов 49 минут
Какие тут умные все люди!
Второй раз обращаюсь к этому замечательному форуму, и самые-самые умы сайта помогают мне в решении моих проблем!)))))))))) Только стоит дать понять людям, что их умные, далекие от нужного мне ответа, намёки, мне абсолютно не нужны, как в теме сразу становится тихо! Отлично, хорошие помощнички!)))) Ваша цель прибытия на сайте? Показать какие вы умные?
Я вам всем верю, я тоже неплохо разбираюсь в программировании, быстро освоил ваш любимый AS3, хоть и более-менее но всё же познаний хватило для разработки проекта.
Почему я обратился на форум? Потому что хорошая справка от Adobe мне не помогла, т.к. я не знал в чем проблема и что собственно искать. Поэтому решил обратиться за помощью к людям, которые по описанию проблемы смогли бы выявить мою ошибку и объяснить как это обойти.
To wvxvw:
Цитирую: "Загрузка картинок разрешена всегда, запрещено обращаться к содержимому (битмапдате), если файл политик не разрешает. Если Вконтакте не разрешает вам грузить картинки и обрабатывать как-то их содержимое - значит нельзя."
Вы ведь умный человек, наверняка работали с Контактикой, знаете, что можно и что нельзя. Зачем говорить, что нельзя? Вам не хочется помочь? Но ведь и не просили Вас вовсе отвечать. Если Вы считаете, что этот ответ может служить решением проблемы, то так держать!!!!
Я конечно понимаю, что большинство людей ,обращающихся сюда, "||" от "&&" отличить не смогут и требуют от вас именно готового решения в виде кода, не вдаваясь в проблему. Увы, но мне нужно было не готовое решение, а ключ к решению конкретной проблемы... Если вы все считаете, что я в чем-то не прав, то флаг вам в руки, и живите дальше, ПОМОЩнички)))))))
Ех, извините, сорвался, ненавижу форумы, ненавидел, и к сожалению буду ненавидеть... Люди абсолютно не хотят помогать...
Выдержу любую критику, выстою бан, и пройду сквозь все ваши полезные советы.
До последнего ожидаю ответа, в надежде на помощи добродетелей!
Еще раз извиняюсь, за злость, прочтите, перечитайте, и если вы ничего не поняли, повторите действие один.))))
Вот решение твоей проблемы:
var loaderContext:LoaderContext = new LoaderContext(true);
loader.load(new URLRequest(url), loaderContext);
Тоже долго мучился)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.