![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2010
Сообщений: 69
|
Создал приложение Вконтакте для загрузки картинок с диска и из сети. Картинки из сети грузились нормально, но с обновлением перестали по каким-то политическим соображениям. Как это можно обойти?
|
|
|||||
|
Регистрация: Jan 2010
Сообщений: 69
|
Напомнило день, когда отменили переход по ссылкам не в _blank в AS 2.0 и все менюшки сломались...
Ещё убрали возможность вызывать новый Fullscreen одновременно с выходом из него. ![]() |
|
|||||
|
Вот Вам класс.
package src { import flash.display.Loader; import flash.display.LoaderInfo; import flash.events.Event; import flash.utils.ByteArray; import flash.display.Bitmap; import flash.display.BitmapData; import flash.net.URLRequest; import flash.display.Sprite; public class loadPictures extends Sprite { public var bitmap:Bitmap; public function loadPictures($url):void { bitmap = new Bitmap(); var req:URLRequest = new URLRequest($url); var _picLoader:Loader = new Loader(); _picLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,loader2ByteArray); _picLoader.load(req); } private function loader2ByteArray(evt:Event):void { var lInfo:LoaderInfo = LoaderInfo(evt.target); var ba:ByteArray = lInfo.bytes; reloadByteArray(ba); } private function reloadByteArray(ba:ByteArray):void { var reloader:Loader = new Loader(); reloader.loadBytes(ba); reloader.contentLoaderInfo.addEventListener(Event.COMPLETE, reloaderComplete); } private function reloaderComplete(evt:Event):void { var imageInfo:LoaderInfo = LoaderInfo(evt.target); var bmd:BitmapData = new BitmapData(imageInfo.width,imageInfo.height); bmd.draw(imageInfo.loader); bitmap = new Bitmap(bmd); bitmap.smoothing = true; addChild(bitmap); dispatchEvent(new Event("LOAD_COMPLETE")); } } } import src.loadPictures; var maxsize:uint = 300; var image:loadPictures = new loadPictures("http://www.images.com/image.jpg"); image.addEventListener("LOAD_COMPLETE", resize); addChild(image); private function resize(e:Event):void{ var k = maxsize/Math.max(e.target.width,e.target.height); e.target.width *= k; e.target.height *= k; } Недостаток: Отсутствие альфа канала у png
__________________
return this... |
|
|||||
|
Сходите по ссылочке выше и почитайте пожалуйста. Не работает ваш класс на 11.4 плеере и на 11.3.31 в хроме который тоде не работает. Обращение bytes кинет SecurityError если нет разрешения. Пофиксили этот баг, в своих проектах тоже смотрите и переписывайте, т.к. в хроме точно всё автоматом обновилось и картинки попропадали у всех.
__________________
:) |
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
Можно, например, пустить весь трафик через свой сайт (или любой с бесплатным хостингом и доменным именем. с поддержкой серверных скриптов), где лежит "правильный" кросдоменник. На этом сайте есть php скрипт, к примеру, отдающий байты картинок уже и с вконтактов и с гугла и откуда угодно в общем то...
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
|
Регистрация: Jan 2010
Сообщений: 69
|
Может нужно попросить (кто по англ. нормально пишет) у Adobe сделать две разные функции подгрузки картинок и флэшек? Безопасность же с флэшками связана, картинки вряд ли могут кому-то навредить.
Ну и второе - в AS2.0 тоже есть подобные ограничения? Может сделать загрузчик на нем и загружать его в основную флэшку на AS3.0? |
|
|||||
|
Я немогу понять как вообще теперь грузить изображения...?? Потому что у меня не ифрейм приложения и доступа так же нет.
__________________
return this... Последний раз редактировалось AlexCooper; 29.08.2012 в 18:59. |
|
|||||
|
Это сделано для того, чтобы вы картинкам не навредили
![]()
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ" Мои ачивки: художник-паразит. |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:11. |
|
|
« Предыдущая тема | Следующая тема » |
|
|