65 lines
1.8 KiB
TypeScript
Raw Normal View History

2024-01-05 11:11:15 +08:00
import abilityAccessCtrl, { Permissions } from '@ohos.abilityAccessCtrl'
import promptAction from '@ohos.promptAction'
import fileAccess from '@ohos.file.fileAccess'
import common from '@ohos.app.ability.common'
import Want from '@ohos.app.ability.Want'
import fs from '@ohos.file.fs'
import FileUtil from '../../../common/utils/File'
import zlib from '@ohos.zlib';
const MODELTAG = 'MODELTAG'
export default class FileModel{
//后续文件路径待替换
private fileUtil: FileUtil
public folderPath: string
constructor(context){
(async ()=>{
const fileUtil = new FileUtil(context)
this.fileUtil = fileUtil
})()
}
// 设置文件夹
public initFolder = async () => {
const {fileUtil} = this
await fileUtil.initFolder(`/models/model_enc`);
//TODO 删除待优化
const isDeletedModelEnc= await this.fileUtil.deleteF('models/model_enc',1)
const isDeletedModels = await this.fileUtil.deleteF('models',1)
const folderPath = await fileUtil.initFolder(`/models`);
this.folderPath = folderPath;
}
// 存储zip文件并解压
public storingFiles = async (str) => {
const {fileUtil,folderPath} = this;
await fileUtil.addFile(`${folderPath}/model.zip`,str)
let options = {
level: zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION,
memLevel: zlib.MemLevel.MEM_LEVEL_DEFAULT,
strategy: zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY
};
zlib.unzipFile(
`${folderPath}/model.zip`,
`${folderPath}`,
options).then((data) => {
console.log("unzipFile result" + data);
}).catch((err)=>{
console.log("catch((err)=>" + err);
})
}
//获取文件内容
public getModelContent = (folderPath,fileName) => {
const {fileUtil} = this;
const content = fileUtil.getFileContent(`${folderPath}/${fileName}`)
return content;
}
}