Apache flex 将文件上载到服务器时出现Flex问题text=错误#2049:安全沙箱冲突
我试图使用Flex将文件从客户端浏览器上传到服务器。为此,我使用FileReference类调用了一个正在进行上传的servlet。下面是uploadHandler函数的代码Apache flex 将文件上载到服务器时出现Flex问题text=错误#2049:安全沙箱冲突,apache-flex,actionscript-3,Apache Flex,Actionscript 3,我试图使用Flex将文件从客户端浏览器上传到服务器。为此,我使用FileReference类调用了一个正在进行上传的servlet。下面是uploadHandler函数的代码 private function uploadHandler(event:Event):void { var url:String="http://localhost/upload/WelcomeServlet"; var reques
private function uploadHandler(event:Event):void
{
var url:String="http://localhost/upload/WelcomeServlet";
var request:URLRequest=new URLRequest(url);
request.method=URLRequestMethod.POST;
var variables:URLVariables=new URLVariables();
variables.employeeID="sam";
request.data=variables;
file.upload(request);
}
由于URLRequest执行http请求,我在tomcat服务器的根文件夹中添加了网络策略文件crossdomain.xml
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="All"/>
<allow-access-from domain="*" secure="false" />
</cross-domain-policy>
当我尝试从localhost上传时,它工作正常。我是否需要添加任何其他编译器参数?我正在使用FlashPlayer10和ApacheTomcat6.0.20。这个错误困扰了我很长一段时间,如果有任何帮助,我将不胜感激
谢谢
sanre6为什么不更改此字符串:
var url:String="http://localhost/upload/WelcomeServlet";
致:
?哇,这完全奏效了。为什么不允许使用localhost/servlet?除非它的域/servlet
var url:String="http://localhost/upload/WelcomeServlet";
var url:String="/WelcomeServlet";