AS3 UILoader:加载从未完成
我正在尝试将电影的封面艺术加载到 Flash CS5 中的 UILoader 组件中。 我正在使用 IMDB API 检索这些图像的 URL,但我知道这个代码可以工作,并且 URL 是有效的(将它们复制粘贴到浏览器中会按应有的方式显示图像)。但是,当我将 UILoader 组件的源设置为这些 URL 之一时,我收到“加载从未完成”错误,并且图像不会显示。 如果我将 URL 替换为不属于 imdb 的随机其他图像位置,它也可以正常加载。
imdb 返回的 URL 相当长,并且包含几个特殊字符,因此我猜测它不会因此而加载。 以下是相关错误(还包含示例 URL):
Error #2044: Unhandled ioError:。 text=错误#2036:加载从未完成。网址:http://ia.media-imdb.com/images/M/MV5BMjE5ODg1NTk3OF5BMl5BanBnXkFtZTcwNzA5NTMyNA@@._V1_SX320.jpg
知道如何将其加载到 UILoader 组件中吗?
I am trying to load cover art from movies into UILoader components in Flash CS5.
I'm using the IMDB API to retrieve the URL's to these images, but I know for a fact that this code works, and that the URL's are valid (copy-pasting them into a browser shows the images as they should). However, when I set the source of my UILoader component to one of these URL's, I get a "Load never completed" error, and the image will not show up.
If I replace the URL with a random other image location not belonging to imdb, it also loads just fine.
The URL's returned by imdb are fairly long and contain several special characters, so I'm guessing it's not loading because of that.
Below is the error in question (also contains an example URL):
Error #2044: Unhandled ioError:. text=Error #2036: Load Never Completed. URL: http://ia.media-imdb.com/images/M/MV5BMjE5ODg1NTk3OF5BMl5BanBnXkFtZTcwNzA5NTMyNA@@._V1_SX320.jpg
Any idea on how to get this loaded into a UILoader component?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您无法使用 UILoader,因为 imdb 上的跨域不允许访问:
http://ia.media- imdb.com/crossdomain.xml
You cannot use UILoader because the crossdomain on imdb doesn't allow access:
http://ia.media-imdb.com/crossdomain.xml
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
The Loader class can load images cross-domain. It's only restriction is that you can't redraw or modify the image. 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
If you need to do any modifications can try piping the byteArray to another new Loader().loadbytes(myByteArray). That could bypass the restrictions placed on the first loader.
Here's a quick gist of the idea. https://gist.github.com/1204895