import React, { Component } from 'react';
import * as Config from './Config.js';
import NetUtil from './NetUtil.js';
var RNFS = require('react-native-fs');
var Zip = require('@remobile/react-native-zip');
// const ZipArchive = require('react-native-zip-archive')
const jobId = -1;
const downloadDestName = RNFS.DocumentDirectoryPath+"/test.zip";
class LogicFuction {
constructor() {}
//下载
downNewCourse()
{
const progress = data => {
const percentage = ((100 * data.bytesWritten) / data.contentLength) | 0;
const text = `Progress ${percentage}%`;
console.log(text);
};
const begin = res => {
console.log('Download has begun' );
};
const progressDivider = 1;
const ret = RNFS.downloadFile({
fromUrl: Config.APP_Course_New,
toFile: downloadDestName,
begin,
progress,
false,
progressDivider
});
jobId = ret.jobId;
ret.promise.then(res => {
console.log("file download ");
console.log(downloadDestName);
console.log(res);
// 调用解压函数
this.unzipNewCourse();
}).catch(err => {
console.log(err)
jobId = -1;
});
}
//解压
unzipNewCourse()
{
// zipPath:zip的路径
// documentPath:解压到的目录
Zip.unzip(downloadDestName, RNFS.DocumentDirectoryPath, (err)=>{
if (err)
{
// 解压失败
}
else
{
// 解压成功,将zip删除
RNFS.unlink(downloadDestName).then(() => {
});
}
});
jobId = -1;
}
//
}
var instance = new LogicFuction();
module.exports = instance;
下载 + 解压(zip) react native 实现
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Windows + Android 最近研究react-native,首先是安装 1.安装AndroidStudi...
- 当react-native项目中有版本更新需求时,android会用到下载新版本需求,此时,可以通过封装Nativ...
- react native45版本开始后,新建应用会抛出UNpackage xxxx错误,原因是最新的RN无法下载到...
- 直接从服务器下载zip文件 将zip文件下载到document目录下,并将此路径获取到,用作解压路径。 解压zip...