【问题标题】:flash upload to s3 using as3httpclient socket使用 as3httpclient 套接字闪存上传到 s3
【发布时间】:2011-12-21 07:22:50
【问题描述】:

我正在尝试使用套接字将 jpeg 从闪存上传到 Amazon S3,我想避免 URLLoader 和 FileRefrence 上传其他需要用户交互的安全策略问题。我希望能够调整图像大小并将其编码为 ByteArray 并根据外部接口调用上传图像。我看到了这个例子。

https://github.com/gabriel/as3httpclient/blob/master/test/s3/S3PostTest.as

我使用了下面的crossdomain.xml

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd">
<!-- Policy file for xmlsocket://socks.example.com -->
<cross-domain-policy> 
     <allow-access-from domain="*" to-ports="*" secure="false"/>
</cross-domain-policy>

我得到了口头禅

错误:来自http://mybucket.s3.amazonaws.com/swf/myswf.swf 的请求者对 xmlsocket://mybucket.s3.amazonaws.com:80 的资源请求因缺少策略文件权限而被拒绝。

我知道这使用了套接字实现,但我不知道此时我缺少什么,S3 是否不允许您通过端口 80 或 443 从闪存套接字实现中查找策略文件?但是它不能解释为什么这个 as3httpclient 示例在那里,有人有什么想法吗?

【问题讨论】:

    标签: flash sockets amazon-s3


    【解决方案1】:

    我认为答案是 Amazon S3 的 as3httpclient 代码是用于 Adob​​e Air 而不是 Flash/Flex。

    通过 http 检查套接字策略文件对我不起作用,因为 flash 仍然需要通过端口 80 上的套接字检查它失败(即使它通过 http 被接受)。

    【讨论】:

    • 我有同样的问题,并开始得出同样的结论
    【解决方案2】:

    如果你想使用套接字(as3httpclient 使用套接字处理 HTTP 事务),你需要一个 crossdomain 策略文件。

    它必须由与您的套接字目标点相同的服务器(此处为 http://mybucket.s3.amazonaws.com)提供服务。

    有两种方法可以做到这一点:通过 843 端口(XMLSocket 事务)提供服务,或者通过 HTTP 提供服务,例如:http://mybucket.s3.amazonaws.com/crossdomain.xml 并在任何 HTTP 事务之前在您的应用程序中调用 Security.loadPolicyFile("http://mybucket.s3.amazonaws.com/crossdomain.xml");

    参考资料:

    【讨论】:

    • 我正在这样做 好的:已接受策略文件:mybucket.s3.amazonaws.com/crossdomain.xml,我的理解是,当您实例化套接字时,Flash 播放器现在会查找 xmlsocket://mybucket.s3.amazonaws.com: 80,这发生在我发出 POST 调用之后,当它在 S3 上被拒绝时。
    【解决方案3】:

    它不起作用,因为除了跨域策略文件之外,服务器(在您的情况下为 S3)必须允许您通过Socket Policy File Server 成功地与它建立套接字连接。而 S3 显然没有运行它。

    只有 Web 应用程序(Flash/Flex)需要它,桌面应用程序(AIR 等)可以在没有 Socket Policy File Server 批准的情况下通过。

    【讨论】:

      猜你喜欢
      • 2015-02-08
      • 1970-01-01
      • 1970-01-01
      • 2012-07-20
      • 1970-01-01
      • 2013-01-09
      • 2019-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多