`

Flex FileReference URLRequest 请求缓存问题

    博客分类:
  • Flex
 
阅读更多

   

    UrlRequest请求时会缓存会话,也就是说当URL路径不改变,但指定的文件已经进行内容修改,客户端请求的结果还是最先访问产生的会话缓存,如何解决这个问题呢?

 

    可以想到的是每次URL路径发生改变,Get方式时后面添加参数,Post方式提交不断变换的参数进而产生URL每次不同的效果,其实两种方式就是改变参数的不同。

 

    Get:http://****/file/test.txt?random=唯一值

    Post:

    

var variables:URLVariables = new URLVariables();

variables.rannum = Math.random();

var url:String = 文件地址

var request:URLRequest = new URLRequest(encodeURL(uri));

request.data = variables;

request.method =  URLRequestMethod.POST;

 

 

    另附完整代码

    

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
 
	<mx:Script>
		<![CDATA[
			
			import mx.utils.UIDUtil;
  			
  			[Bindable]
  			public var file:FileReference;
     		private var currentAction:String;
     		private var downloadURL:URLRequest;
 		
 			private function download():void{  
     
     			var url:URLRequest=new URLRequest("http://localhost:8080/FlexMessageServer/test.txt");
     			url.method = URLRequestMethod.POST;
     			url.data = UIDUtil.createUID();
     			file = new FileReference();
      			file.addEventListener(Event.COMPLETE,comple) 
      			file.download(url)
		
     		}
     
		    private function comple(e:Event):void
		    {
		    	tex.text="已下载完成!"
		    }

  ]]>
 </mx:Script>
 
 <mx:Button  x="10" y="20" label="下载一个文件" click="download()"/>
 <mx:ProgressBar x="10" y="100" id="progress" source="{file}" label="已加载: %3%%"/>
 <mx:Text text="" x="10" y="145" id="tex"/>

</mx:Application>

 

分享到:
评论

相关推荐

    Flex多文件上传+md5验证文件是否上传

    在文件上传过程中,我们可以将FileReference对象的data属性绑定到HTTPService的requestContent,然后调用send方法发起POST请求,将文件数据发送到服务器。 3. **MD5验证**:MD5(Message-Digest Algorithm 5)是一...

    flex 利用FileReference上传firefox报2038错误

    - **自定义Request Header限制**:使用`FileReference.upload`时,无法向`URLRequest`对象添加自定义的请求头信息。这一点与`URLLoader`不同,后者允许添加自定义头部信息,但对某些敏感字段(如refer、cookie、host...

    Flex与.NET互操作 使用FileReference+HttpHandler实现文件上传/下载

    ### Flex与.NET互操作:使用FileReference+HttpHandler实现文件上传/下载 #### 一、引言 在Flex的应用开发中,与ASP.NET、JSP、PHP等Web应用一样,经常会遇到需要处理文件上传和下载的需求。Adobe Flex是一种用于...

    flex3+java文件上传

    9. **错误处理**:Flex和Java之间可能会出现网络问题、文件过大等问题,因此需要在两端都进行错误处理。Flex端可以通过FileReference的securityError、ioError等事件,Java端通过try-catch语句捕获异常。 在提供的...

    flex3 java 文件上传源码

    2. **FileReference对象**:在Flex中,FileReference对象允许用户选择本地文件,并提供了读取文件内容、显示对话框选择文件以及上传文件到服务器的方法。 3. **事件监听**:FileReference对象支持多个事件,如...

    Flex附件上传下载

    在Flex上传文件的场景中,我们需要创建一个自定义的HttpHandler,处理POST请求,并接收从Flex客户端传来的文件数据。接收到文件后,可以将其保存到服务器的指定位置。 下载部分则相对简单,通常由Flex客户端发起...

    源码:Flex与.NET互操作(五):使用FileReference+HttpHandler实现文件上传/下载

    Flex与.NET互操作(五):使用FileReference+HttpHandler实现文件上传/下载 一文的源码的完整工程文件,包含FLEX客户端和 ASP.NET服务端源码! 在VS2010和FLash builder4 中运行!

    flex 文件上传下载完整代码(废弃--代码有错误)

    2. **开始下载**:调用FileReference的load()方法,传入包含文件URL的URLRequest对象。load()方法会发起一个HTTP请求并开始下载。 3. **监听事件**:在下载过程中,我们同样需要监听ProgressEvent.PROGRESS事件来...

    flex上传下载 并解决中文乱码

    1. Flex组件:Flex中可以使用`FileReference`组件来实现文件上传。用户通过选择文件后,`FileReference`会将文件内容读取到内存中,然后通过HTTP请求发送到服务器。 2. 事件处理:在`FileReference`上监听`select`...

    flex实现多文件上传

    在Flex中,我们可以使用`FileReference`类来处理文件选择和上传。`FileReference`允许用户从本地文件系统中选择一个或多个文件。在用户选择文件后,我们可以监听`select`事件来获取选中的文件列表。 ```...

    Flex拍照并上传到java后台——未调试成功

    如果遇到问题,可以借助Flex的调试工具,如Flash Builder的调试器,查看运行时的变量状态和网络请求详情,以定位和解决问题。同时,对于Java后端,可能需要使用像Eclipse这样的开发环境,结合日志记录和单元测试来...

    flex文件上传源码

    param.ItemDate = (this.parameters.ItemDate == undefined || this.parameters.ItemDate == "") ? 31457280 : this.parameters.ItemDate;//ItemDate单文件大小限制,-1表示不限制,默认值为30M ...

    Flex multiple file uploader (Flex多文件上传范例)

    为了实现多文件上传,Flex客户端需要使用循环或数组来处理多个FileReference对象。每个FileReference对象都绑定一个上传事件监听器,当用户选择并提交文件时,这些监听器会被触发,依次执行上传操作。在PHP端,也...

    flex文件上传下载

    在 Flex 中,文件上传主要通过 `FileReference` 类实现。以下是一段示例代码: ```xml &lt;![CDATA[ import mx.controls.Alert; import flash.net.FileReference; // ... private var fileRefer:...

    flex 怎么检测文件大小.

    综上所述,Flex中检测文件大小的方法主要包括利用FileReference对象获取本地文件大小,通过HTTP HEAD请求获取远程文件大小,以及在解析XML或AMF数据时计算文件大小。在实际应用中,应根据具体需求选择合适的方法,并...

    flex 文件上传 预览下载 及中文名乱码解决问题

    在Flex中,可以使用`navigateToURL()`函数配合`URLRequest`对象来发起一个下载请求。对于中文文件名的处理,需要在URL中正确编码中文字符,一般使用`encodeURIComponent()`函数进行编码,服务器接收到请求后解码并...

    Flex-Java-file-upload.zip_flex

    在选择文件后,FileReference对象可以调用upload()方法,将文件作为POST请求的一部分发送到服务器。 对于Java后端,通常会使用Servlet来接收文件。当Flex应用发起POST请求时,Servlet的doPost()方法会被调用。在这...

    Flex文件的上传下载.pdf

    而到了Flex 2及后续版本,这一过程得到了简化,`FileReference`类被整合进了Flex类库中,使得开发人员可以直接调用该类的相关方法。 #### 二、技术准备 在Flex中,文件的上传与下载主要依赖于`flash.net....

    Flex+WebService附件上传下载

    在Flex中,附件的上传通常使用`FileReference`类。`FileReference`是ActionScript 3.0中的一个核心类,允许用户选择本地文件,并执行读取、写入和上传操作。在文件上传过程中,我们首先需要在用户界面上添加一个按钮...

Global site tag (gtag.js) - Google Analytics