flash跨域访问

-------------------------------------------------------背景----------------------------------------------------------------------

此问题的背景产生于使用flexpaper在线预览pdf文件。

操作系统:linux

中间件:weblogic

应用部署在A服务器上(以下所述服务器均为linux),swf文件在B服务器的应应用上(据了解,flexpaper不能直接访问磁盘上的swf文件,要访问

应用中的文件,此处将swf文件挂在B服务器的应用上),当访问是,提示http://ip:port/crossdomain.xml该文件无法访问。各种百度之后,确定

问题为flash跨域访问的问题。

-------------------------------------------------------背景----------------------------------------------------------------------

解决方案:部署weblogic的跟应用。

部署方式:

  1,新建文件夹,名字任意,我这里起名flashCross

  2,在flashCross中创建文件crossdomain.xml,文件内容 

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" />
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>

  3,创建文件夹,WEB-INF

      4,在flashCross/WEB-INF文件夹下,创建文件web.xml,文件中内容

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN
" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app id="WebApp_ID">
<display-name>flahCross</display-name>
</web-app>

  5,在flashCross/WEB-INF文件夹下,创建文件weblogic.xml,文件中内容

<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1
//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">
<weblogic-web-app>
  <container-descriptor>
    <index-directory-enabled>true</index-directory-enabled>
    <default-mime-type>text/x-cross-domain-policy</default-mime-type>
  </container-descriptor>
  <context-root>/</context-root>
</weblogic-web-app>

  6,在weblogic的控制台安装flashCross这个应用

  7,此时访问http://ip:port/crossdomain.xml ,地址可达。

 

在B服务器上安装crossdomain.xml 之后,A服务器上的应用通过flashpaper可以访问B服务器上的文件了。

posted on 2014-06-10 22:17  依米艳  阅读(936)  评论(0编辑  收藏  举报

导航