首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用as3缓存

禁用as3缓存
EN

Stack Overflow用户
提问于 2015-01-27 11:27:07
回答 1查看 1.8K关注 0票数 4

我有一个AS3应用程序运行在flash播放器中,目的是刷新存储在服务器上的图像。每1秒,服务器将图像替换为一个新映像。

为了从服务器而不是从缓存获取映像,我必须添加使用随机数方法,如下所示:

代码语言:javascript
复制
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设置。

致以问候。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-30 12:59:31

感谢提示Vesper,我终于找到了一种禁用AIR和actionscript缓存的方法:

代码语言:javascript
复制
    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“文件夹中缓存更多的法师了。

祝你今天愉快。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28169390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档