Flex的缓存问题
flex下载文件的时候很恶心,第一次下载完后,如果服务器上这个文件又修改了,再下载时是还是取的缓存里第一个文件。
通过加随机数(也就是方法二)目测是解决了这个问题,后台仔细测试的时候发现居然在ie中还是不行,在chrome中可以。
后台又找了第一种方法,是ok的。
方法一:
本人解决的方法,保证可用。
添加过滤器(代码如下)
package com.cn.util;
import java.io.* ;
import javax.servlet.* ;
import javax.servlet.http.HttpServletResponse;
public class ForceNoCacheFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException
{
((HttpServletResponse) response).setHeader(“Cache-Control”,”no-cache”);
((HttpServletResponse) response).setHeader(“Pragma”,”no-cache”);
((HttpServletResponse) response).setDateHeader (“Expires”, -1);
filterChain.doFilter(request, response);
}
public void destroy()
{
}
public void init(FilterConfig filterConfig) throws ServletException
{
}
}
然后在web.xml中添加这个过滤器
com.cn.util.ForceNoCacheFilter为刚才过滤器的包名.类名,/*为匹配所有请求。
这样你所有的请求都将会传到服务器处理,不会查看缓存了。
方法二:
inComeHttp.url=”familyGroup.do?method=query&tmp=”+Math.random();
url上随意传一个随机数