简单的----Flex从服务器上下载文件,不用后台代码支持

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
xmlns:s="library://ns.adobe.com/flex/spark"  xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:supportClasses="com.esri.ags.skins.supportClasses.*" minWidth="955" minHeight="600" xmlns:modules="com.sddl.modules.*">
	<s:layout>
		<supportClasses:AttachmentLayout/>
	</s:layout>
	<fx:Declarations>
		<!-- 将非可视元素(例如服务、值对象)放在此处 -->
	</fx:Declarations>
	<modules:downLoadButton/>
</s:Application>

公用Button
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:fx="http://ns.adobe.com/mxml/2009" 
		   xmlns:s="library://ns.adobe.com/flex/spark" 
		   creationComplete="init(event)"
		   xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%">
	<fx:Declarations>
		<!-- 将非可视元素(例如服务、值对象)放在此处 -->
	</fx:Declarations>
	<fx:Script>
		<![CDATA[
			import mx.controls.Alert;
			import mx.events.FlexEvent;
			private var userIdentity:String = "0";//用户身份
			private var downloadURL:URLRequest;
			private var fileName:String;
			[Bindable]
			private var downLoadName:String;
			private var urlLocal:String;
			private var file:FileReference;
			protected function init(event:FlexEvent):void
			{
				urlLocal= mx.core.Application.application.url;
				if(userIdentity=="0"){
					fileName = "gybcldr.xlsx";//供应部材料导入
					downLoadName = "供应部材料导入模版.xlsx";
				}
				if(userIdentity=="1"){
					fileName = "scjybcldr.xlsx";//生产经营部材料导入
					downLoadName = "生产经营部材料导入模版.xlsx";
				}
				if(userIdentity=="3"){
					fileName = "sgbucldr.xlsx";//施工部门材料导入
					downLoadName = "施工部门材料导入模版.xlsx";
				}
			}
			protected function button1_clickHandler(event:MouseEvent):void
			{
				downloadURL = new URLRequest();
				downloadURL.url = urlLocal.substr(0,urlLocal.lastIndexOf("/"))+"downLoading/"+fileName;
				file = new FileReference();
				configureListeners(file);
				file.download(downloadURL, downLoadName);
			}
			
			private function configureListeners(dispatcher:IEventDispatcher):void {
				dispatcher.addEventListener(Event.COMPLETE, completeHandler);
			}
			
			private function completeHandler(event:Event):void {
				Alert.show("下载成功","提示!");
			}
		]]>
	</fx:Script>
	<mx:Button label="模版下载" click="button1_clickHandler(event)"
			   cornerRadius="0" height="25" width="120"/>
</mx:Canvas>


如果不能下载:请在Tomcat的ROOT下添加
flash跨域策略文件crossdomain.xml 见附录

你可能感兴趣的:(tomcat,Flash)