Как получить изображения из кэша с помощью компонента XPCOM в Firefox - PullRequest
0 голосов
/ 24 января 2011

Мне нужно получить путь к файлу кэша для любого изображения, загруженного в документ, мне интересно, какие интерфейсы мне нужно использовать для этого

https://developer.mozilla.org/en/XPCOM_Interface_Reference

1 Ответ

1 голос
/ 26 января 2011

Это то, что я использовал для удаления записи в кэше:

  function removeItem(url){
    let cacheService = Components.classes["@mozilla.org/network/cache-service;1"]
                            .getService(Components.interfaces.nsICacheService);
    var Ci = Components.interfaces;
    var session = cacheService.createSession("image", Ci.nsICache.STORE_ANYWHERE, false);
    if(!session){
        return;
    }

    var entry;
    try{
        entry = session.openCacheEntry(url, Ci.nsICache.ACCESS_READ, false);
        if(!entry){
            return;
        }
    }catch(ex){
        return;
    }

    entry.doom();
    entry.close();
  }
}

После того, как у вас есть запись, вы сможете открыть для нее поток - возможно, получить содержимое или даже заменить его - у меня нетхотя попробовал.

...