在检查可用的磁盘空间阵营本地

问题描述:

我已经实现了下面的代码:在检查可用的磁盘空间阵营本地

  1. 下载使用RNFS.downloadFile()一个zip文件
  2. 解压使用ZipArchive.unzip文件()
  3. 删除使用RNFS.unlink的zip文件

我可以从服务器发送信息,指出zip文件的大小以及解压目录的大小。但是,如何检测设备上是否有足够的空间来下载和解压缩文件?我假设一旦我知道这一点,我可以做这样的检查:

if (free_space_on_device > zip_size + unpacked_size){ 
    proceed with steps 1 through 3 (listed above) 
} 

我没有意识到,RNFS有一个函数称为getFSInfo。有了这些知识,我可以发出以下命令:

RNFS.getFSInfo(RNFS.DocumentDirectoryPath) 
.then ((info) => { 
    console.log("Free Space is" + info.freeSpace + "Bytes") 
    console.log("Free Space is" + info.freeSpace/1024 + "KB") 
})