【问题标题】:Ionic 2: Get size cache directory and clear itIonic 2:获取大小缓存目录并清除它
【发布时间】:2018-01-17 14:19:56
【问题描述】:

我将 cordova-plugin-file 用于离子 2。

我知道缓存目录的路径,这是我的代码:

this.file.resolveDirectoryUrl(this.file.cacheDirectory).then(data => {
    console.log(JSON.stringify(data)) ;
});

在 Ionic 中是否可以知道目录的大小并清除其中的所有文件?

【问题讨论】:

    标签: cordova ionic-framework ionic2 cordova-plugins ionic3


    【解决方案1】:

    是的,你可以。你必须使用下面的方法。

    getFreeDiskSpace() - 以字节为单位获取可用磁盘空间

    Returns: Promise 返回一个通过 剩余可用磁盘空间(以字节为单位)

    removeRecursively(path, dirName) - 从所需位置删除所有文件和目录。

    路径字符串基本文件系统。请参考iOS和Android 上面的文件系统

    dirName string 目录名称

    返回: Promise 返回一个用 a 解析的 Promise RemoveResult 或以错误拒绝。

    官方doc is here.

    【讨论】:

    • 我需要知道尺寸cacheDirectory
    • 你可以获得可用的磁盘空间,根据这个,你必须调整你的要求。
    • 我有一个问题,如果我删除 cacheDirectory 这会删除 sqlite 数据库?
    • 你安装在哪里? @JorgeMejia
    • 好吧,我使用适用于 Android 的 cordova-sqlite-storage 插件,但文档没有指定数据库的安装位置。
    【解决方案2】:

    我的解决方案:

    this.file.listDir(this.file.cacheDirectory,'').then((result)=>{
        for(let file of result){
            if(file.isFile == true){
    
                if(deleteFiles == 1) this.file.removeFile(this.file.cacheDirectory, file.name) ;
                else {
                    file.getMetadata(function (metadata) {
                        let name = file.name ;
                        let size = metadata.size ;
                        console.log('Name: ' + name + ' / Size: ' + size) ;
                        sizes += size ;
                        }) ;
                    }
            }
        }
    }) ;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-15
      • 1970-01-01
      • 1970-01-01
      • 2012-04-14
      • 2021-10-16
      相关资源
      最近更新 更多