我有一个AS3应用程序运行在flash播放器中,目的是刷新存储在服务器上的图像。每1秒,服务器将图像替换为一个新映像。
为了从服务器而不是从缓存获取映像,我必须添加使用随机数方法,如下所示:
loader = new URLLoader();
var request:URLRequest =
new URLRequest(
"http://www.theServer.com/myImage.png?random"+(Math.random() * 10000));
loader.load(request);,整个提神过程都能工作。
但令人烦恼的是,此方法在临时文件夹中生成临时文件,该文件夹正在增长和增长:
C:\Users\MyName\AppData\Local\Microsoft\Windows\INetCache
是否有一种方法可以禁用缓存,因为它是可能的空气?我之所以问这个问题,是因为该应用程序是在一个带有flash 10的嵌入式平台上运行的,在该平台上可能无法访问flash player设置。
致以问候。
发布于 2015-01-30 12:59:31
感谢提示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“文件夹中缓存更多的法师了。
祝你今天愉快。
https://stackoverflow.com/questions/28169390
复制相似问题