首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Flex图像控件无法处理具有特殊字符的URL

Flex图像控件无法处理具有特殊字符的URL
EN

Stack Overflow用户
提问于 2012-09-27 11:04:00
回答 1查看 465关注 0票数 0

我正在构建一个Flex应用程序,在这个应用程序中,用户可以在Internet上输入一个图像的URL,然后让flash加载URL指向的图像。这对于没有特殊字符的URL很好(通过设置source属性或在Image上调用load() )。但是,当提交具有已转义的特殊字符的URL时,即在大多数情况下,只需直接从浏览器中的地址栏复制,URLRequest就会使用'%25‘再次转义百分比符号,从而使URL无效,服务器返回错误。不过,在浏览器中粘贴相同的URL可以加载图像。我在URL上尝试过decodeURI(),但是这忽略了大量的字符,所以我尝试了decodeURIComponent(),它正确地解码了所有的东西,但是当URLRequest重新编码它时,它忽略了现在解码的特殊字符并没有转义它们,所以在这种情况下,URL是无效的,因为它仍然有不安全的字符,并且失败。那么,我如何发送带有特殊字符(编码或未编码)的URLRequest,并使其实际工作?真的,我希望它没有对我的URL做任何事情,让我确定它是否有效,但是它嵌入在Flash Player globals swc中,因此是闪存的封闭源代码,我看不到源代码。任何帮助都将不胜感激!

这基本上就是我要做的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var image:Image = new Image();
image.source = textInput.text;

我一直在测试的URL来自Getty图像:

http://cache2.asset-cache.net/gc/sb10064464f-001-dog-looking-up-close-up-gettyimages.jpg?v=1&c=IWSAsset&k=2&d=BRDT%2firX5%2bLh54FjE4ekKh%2bjEirx6jSgMBJOgVxvtKL5ngFuzD9P5u%2bPvlXK4QAMaEHcwY6NrdJUQFip1%2fKXAA%3d%3d

如果您在SWFLoader中的SWFLoader函数( Image扩展的)中,在从new URLRequest中创建requestedURL之后,在URLRequest对象上的url属性中使用'%25‘转义(再次),生成以下URL (这将从new URLRequest返回500个错误):

http://cache2.asset-cache.net/gc/sb10064464f-001-dog-looking-up-close-up-gettyimages.jpg?v=1&c=IWSAsset&k=2&d=BRDT%2firX5%2bLh54FjE4ekKh%2bjEirx6jSgMBJOgVxvtKL5ngFuzD9P5u%2bPvlXK4QAMaEHcwY6NrdJUQFip1%2fKXAA%3d%3d

更新

  • 我忘记提到我正在运行FlexSDK4.1,而Imagemx.controls.Image
  • 根据wvxvw的建议,我尝试了unescape(),结果与使用decodeURIComponent()相同
  • 在用encodeURI()解码后,我也尝试在URL上调用decodeURIComponent(),但是当然它忽略了被解码的URL中的许多不安全字符,并且不对它们进行重新编码。URLRequest也是这样做的,所以最终调用的URL没有编码,因此失败了。
  • 有趣的是,当我尝试在URL上调用encodeURIComponent()并在传入之前重新编码它时,URLRequest没有重新编码百分比,大概是因为它们已经'%25‘了?
  • 最后,它似乎只查找'%‘符号,只需将其替换为'%25’(如果它们后面没有'25'),然后忽略其他不安全的字符。它为什么要这么做?为什么以前没有其他人遇到过这个问题?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-28 09:52:36

对于从带有潜在不安全字符的URL加载的图像,必须使用LoaderURLLoader并手动加载它们,这样就避免了SWFLoaderOSToPlayerURI()函数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12628400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文