收藏
回答

FileSystemManager.saveFile在QQ小游戏的问题,BUG?

在微信小游戏里,FileSystemManager.unzip, FileSystemManager.saveFile,都能正常使用。

但是在QQ小游戏里,使用 FileSystemManager.unzip正常,FileSystemManager.saveFile就不正常了。

我的代码是,先从云端下载zip,然后 FileSystemManager.unzip 到 env.USER_DATA_PATH。

然后再用 FileSystemManager.saveFile 存一个 md5 的文本文件 到 env.USER_DATA_PATH。

如此往复。

刚开始几个都是没问题的,直到某个阶段之后,zip 还能下载并解压,可是 FileSystemManager.saveFile 就不行了,

提示 空间不足!

具体空间限制,在报错中没有打印,不知道多大。

可问题是,我这些 zip 都很大,加起来总共有 100+mb。而一个 md5 文件才 32b。

只要我不存 md5 文本文件,继续下载并解压全部的 zip 到 env.USER_DATA_PATH,都是没问题的。

请问这是什么原因呢?

部分代码:

下载并解压zip:

function downloadAndUnzip(fileID, unzipPath, onSuccess) {
    return qq.cloud.downloadFile{
        fileID: fileID,
        success: (res)=>{
            qq.getFileSystemManager().unzip({
                zipFilePath: res.tempFilePath,
                targetPath: unzipPath,
                success: onSuccess,
                fail: (res)=>{
                    console.error("解压失败 " + fileID);
                    console.error(res.errMsg);
                }
            });
        },
        fail: (res)=>{
            console.error("下载包失败 " + fileID);
            console.error(res.errMsg);
        }
    });
}

保存md5文本文件:

function saveFile(tempFilePath, filePath, onSuccess) {
    qq.getFileSystemManager.saveFile{
        tempFilePath: tempFilePath,
        filePath: filePath,
        success: onSuccess,
        fail: (res)=>{
            console.error("保存文件失败 " + filePath);
            console.error(res.errMsg);
        }
    });
}
最后一次编辑于  2020-12-24
回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容
问题标签