从URL里获取文件路径,显示swf文档


想从一个文件列表里,点击一个文件后跳到flashPaper里去在线查看时,可以用下面的方式来实现,这里主要是从请求

的URL里获取请求路径,再使用flashpaper来进行查看:

 

1 建立flex project (web) FlexReader

FlexReader.mxml文件内容如下:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
	layout="absolute"
	width="100%" height="100%"
	xmlns:flexpaper="com.devaldi.controls.flexpaper.*">
	
	
	<mx:Script>
		<![CDATA[
			//下面是从用户的请求的URL里获取待播放的swf文件路径
			private var params:Object;
			private function getParams():Object {  
            params = {};  
            var query:String = ExternalInterface.call("window.location.search.substring", 1);  
            // Alert.show(ExternalInterface.call("window.location.href.toString",1));  
            // Alert.show(query);  
            if(query) {  
                var pairs:Array = query.split("&");  
                for(var i:uint=0; i < pairs.length; i++) {  
                    var pos:int = pairs[i].indexOf("=");  
                    //Alert.show(String(pos));  
                    if(pos != -1) {  
                        var argname:String = pairs[i].substring(0, pos);  
                        var value:String = pairs[i].substring(pos+1);  
   
                        params[argname] = value;  
                    }  
                }  
            }  
            return params;  
        } 
        
        
        var args:Object = getParams();
		private var swfURL:String = "a.swf";//args.path
        
		]]>
	</mx:Script>
	
	<!--Scale为浏览文档的放大比率-->
	<flexpaper:FlexPaperViewer width="100%" height="100%" 
		Scale="1.6" SwfFile="{swfURL}" />
	
</mx:Application>

这里表示从请求的URL里获取path参数值作为swf文件的资源路径,因为这里设置了是读path参数,所以想正确浏览到文档,你的请求URL里要含path参数并赋上swf资源文件的路径。

 

2 将编译生成的FlexReader.html和FlexReader.swf和AC_OETags.js文件拷入到myeclipse的web projcet的WebRoot目录下

 

3 index.jsp文件内容简单设置如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<html>
  <head>
  
  </head>
  
  <body>
    <a href="FlexReader.html?path=a.swf" target="_blank">FlexReader.html</a>
  </body>
</html>

 

这里在请求FlexReader.html里加入了参数path=a.swf,这个指明待浏览的swf文档在WebRoot目录下,你以设置能访问到你资源的地方,即可完成文件的在线浏览。

 

附件便是这个例子的代码,我这里是用flush builder3来做生成flex文件的。

你可能感兴趣的:(html,Web,MyEclipse,Flex,Adobe)