AS3 UILoader: загрузка не завершена - PullRequest
1 голос
/ 03 сентября 2011

Я пытаюсь загрузить обложку из фильмов в компоненты UILoader во Flash CS5. Я использую API IMDB для получения URL-адресов этих изображений, но я точно знаю, что этот код работает и что URL-адреса действительны (при вставке их в браузер изображения отображаются так, как они должны). Однако, когда я устанавливаю источник моего компонента UILoader на один из этих URL-адресов, я получаю ошибку «Загрузка никогда не завершена», и изображение не отображается. Если я заменяю URL случайным другим местоположением изображения, не принадлежащим imdb, он также отлично загружается.

URL-адрес, возвращаемый imdb, довольно длинный и содержит несколько специальных символов, поэтому я предполагаю, что из-за этого он не загружается. Ниже приведена ошибка (также содержит пример URL):

Ошибка № 2044: необработанная ошибка ioError :. текст = ошибка № 2036: загрузка никогда не завершена. URL: http://ia.media -imdb.com / images / M / MV5BMjE5ODg1NTk3OF5BMl5BanBnXkFtZTcwNzA5NTMyNA @@ ._ V1_SX320.jpg

Есть идеи, как загрузить это в компонент UILoader?

Ответы [ 2 ]

2 голосов
/ 03 сентября 2011

Вы не можете использовать UILoader, потому что кросс-домен на imdb не разрешает доступ:

http://ia.media -imdb.com / crossdomain.xml

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> 
<cross-domain-policy> 
  <allow-access-from domain="*.images-amazon.com"/> 
  <allow-access-from domain="images.amazon.com"/> 
  <allow-access-from domain="g-images.amazon.com"/> 
  <allow-access-from domain="*.ssl-images-amazon.com"/> 
  <allow-access-from domain="*.amazon.com"/> 
  <allow-access-from domain="*.bebe.com"/> 
  <allow-access-from domain="cea.target.com"/> 
  <allow-access-from domain="xyccea.target.com"/> 
  <allow-access-from domain="testcea.target.com"/> 
  <allow-access-from domain="devcea.target.com"/> 
  <allow-access-from domain="sites.target.com"/> 
</cross-domain-policy>
1 голос
/ 09 сентября 2011

Класс Loader может загружать изображения междоменные.Единственное ограничение - вы не можете перерисовать или изменить изображение.http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Loader.html?filter_flash=cs5&filter_flashplayer=10.2&filter_air=2.6

Если вам нужно внести какие-либо изменения, попробуйте передать конвейер byteArray другому новому Loader (). Loadbytes (myByteArray).Это может обойти ограничения, накладываемые на первый загрузчик.

Вот краткая идея.https://gist.github.com/1204895

...