gpt4 book ai didi

apache-flex - crossdomain.xml 和 FileReference.upload 的 Flex 问题

转载 作者:行者123 更新时间:2023-12-04 07:08:53 28 4
gpt4 key购买 nike

你好

我有一个 Flex 应用程序,它向位于不同域中的 Web 应用程序发出各种请求。因此,我制作了一个自定义 crossdomain.xml 以允许从我的 Flex 应用程序进行访问。
这个文件的内容是

> <!DOCTYPE cross-domain-policy SYSTEM
> "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
> <cross-domain-policy>
> <site-control permitted-cross-domain-policies="all"/>
> <allow-access-from domain="*" secure="false" to-ports="*"/>
> </cross-domain-policy>

此 crossdomain.xml 位于我的 web 应用程序的子文件夹中: http://host:port/services/crossdomain.xml
这些服务(有些是 http 服务,有些是 Web 服务)都位于 services 子文件夹中。

我正在使用 Security.loadPolicyFile 加载 crossdomain.xml 并且一切正常。直到我尝试使用 FileReference 对象上传文件。即使我的 HTTP 表单位于 services 子文件夹下并且我每次尝试上传文件时我都正确加载了 crossdomain.xml 文件(我可以执行 http 请求和 Web 服务请求),我也会遇到臭名昭著的安全沙盒违规。

我错过了什么?是否有任何允许文件上传的特殊说明?根据 Adob​​e 文档 ( http://livedocs.adobe.com/flex/3/html/help.html?content=05B_Security_10.html ) 一切都配置良好。有任何想法吗?

最佳答案

Flash Player 中的文件上传使用 Socket API 而不是浏览器网络 API。所以要以这种方式做事,你需要有一个 socket policy file .

一个更简单的替代方法是通过 RemoteObject 进行上传。为此,您需要使用 Flash Player 10 中的新 FileReference API,以便您可以读取文件客户端的字节,然后在 RemoteObject 调用中将它们发送到服务器。

关于apache-flex - crossdomain.xml 和 FileReference.upload 的 Flex 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/679952/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com