作者:手机用户2502908237 | 来源:互联网 | 2023-05-24 19:18
我有一个在flash播放器中运行的AS3应用程序,旨在刷新存储在服务器上的图像.每1秒钟,服务器将替换一个新图像.
要从服务器而不是从缓存中获取图像,我必须添加以使用随机数方法,如下所示:
loader = new URLLoader();
var request:URLRequest =
new URLRequest(
"http://www.theServer.com/myImage.png?random"+(Math.random() * 10000));
loader.load(request);
,整个刷新过程有效.
但令人讨厌的是,这种方法会在临时文件夹中生成临时文件,这些文件正在增长和增长:
C:\用户\ MYNAME \应用程序数据\本地\微软\的Windows\INetCache
有没有办法禁用缓存,因为可以使用Air?我问这个是因为该应用程序是在带有Flash Player 10的嵌入式平台上运行,在该平台上可能无法访问Flash播放器设置.
问候.
1> wangson200..:
感谢提示Vesper,我终于找到了一种方法来禁用AIR和actionscript的缓存:
function loadURLWitoutCaching(theURL:String):void
{
var _imgLoader:Loader = new Loader();
_imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
_imgLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onLoadingError);
var header:URLRequestHeader = new URLRequestHeader("pragma", "no-cache");
var request:URLRequest = new URLRequest(theURL);
request.data = new URLVariables("cache=no+cache");
request.method = URLRequestMethod.POST;
request.requestHeaders.push(header);
try {
_imgLoader.load(request);
} catch (error:Error) {
trace("Unable to load requested document.");
}
}
private function onLoadingError(e:IOErrorEvent):void
{
// Do something
}
private function onLoadComplete(evt:Event):void
{
// Do something
}
我不确定"URLVariables"是强制性的,但它似乎有所帮助.
现在我在"C:\ Users\myName\AppData\Local\Microsoft\Windows\INetCache"文件夹中看不到任何更多的图像被缓存.
祝你有美好的一天.