React Native集成react-native-fs(本地文件系统)
时间:2019-02-19
本文章向大家介绍React Native集成react-native-fs(本地文件系统),主要包括React Native集成react-native-fs(本地文件系统)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
- 安装
#安装
npm install --save react-native-fs
#链接依赖
react-native link react-native-fs
- 工具类(可直接调用)
/**
* FileName: RNFSUtils.js
* Author: hf
* Date: 2019/2/11 14:39
* Description:封装对文件的【下载、文本写入、文本读取、文本追加、删除】的工具类方法
*
* History:
* <author:> <time:> <version:> <desc:>
*/
import RNFS from 'react-native-fs';
/** @namespace RNFS.ExternalDirectoryPath */
/**
* 常用文件存储目录(ios与android)
*
* RNFS.MainBundlePath
* RNFS.CachesDirectoryPath
* RNFS.DocumentDirectoryPath
* RNFS.TemporaryDirectoryPath
* RNFS.LibraryDirectoryPath
* RNFS.ExternalDirectoryPath
* RNFS.ExternalStorageDirectoryPath
*/
const ExternalDirectoryPath = RNFS.ExternalDirectoryPath;
/**
* 功能描述: <br>
* 〈文件下载(图片、文件、音频、视频)〉
*
* @MethodName: downloadFile
* @Author: hf
* @Version: 1.0.0
* @Date: 2019/2/11 14:46
* @Param: [formUrl 要下载的文件地址, targetName 目标文件名称(类似text.txt)]
*
* History:
* <author:> <time:> <version:> <desc:>
*/
export const downloadFile = (formUrl, targetName) => {
// 获取下载文件本地保存路径
const toLoadPath = `${ExternalDirectoryPath}/${targetName}`;
RNFS.downloadFile({
fromUrl: formUrl,
toFile: toLoadPath,
progressDivider: 5,
begin: (res) => {
console.log('begin', res);
},
progress: (res) => {
console.log('progress', res)
}
}).promise.then(res => {
console.log(res, '下载成功!!');
}).catch(err => {
console.log(err, '下载失败!!');
});
};
/**
* 功能描述: <br>
* 〈将内容写入本地文本〉
*
* @MethodName: writeFile
* @Author: hf
* @Version: 1.0.0
* @Date: 2019/2/11 14:47
* @Param: [content 文本内容, unicode 字符编码 targetName 目标文件名称(类似text.txt)]
*
* History:
* <author:> <time:> <version:> <desc:>
*/
export const writeFile = (content, unicode = 'utf8', targetName) => {
const path = `${ExternalDirectoryPath}/${targetName}`;
RNFS.writeFile(path, content, unicode)
.then(result => {
console.log(result, '写入本地文件成功!!');
});
};
/**
* 功能描述: <br>
* 〈读取文本内容〉
*
* @MethodName: readFile
* @Author: hf
* @Version: 1.0.0
* @Date: 2019/2/11 14:48
* @Param: [fileName 文件名称,callback 回调函数获得读取的文件内容]
*
* History:
* <author:> <time:> <version:> <desc:>
*/
export const readFile = (fileName, callback) => {
RNFS.readFile(`${ExternalDirectoryPath}/${fileName}`)
.then(result => {
callback(result)
});
};
/**
* 功能描述: <br>
* 〈在已有的txt上添加新的文本〉
*
* @MethodName: appendFile
* @Author: hf
* @Version: 1.0.0
* @Date: 2019/2/11 14:49
* @Param: [filePath 要追加的目标文本路径, content 要添加的文本信息, unicode 字符编码]
*
* History:
* <author:> <time:> <version:> <desc:>
*/
export const appendFile = (filePath, content, unicode = 'utf8') => {
RNFS.appendFile(`${ExternalDirectoryPath}/${filePath}`, content, unicode)
.then(result => {
console.log(result, '追加文本成功!!');
});
};
/**
* 功能描述: <br>
* 〈删除本地文件〉
*
* @MethodName: deleteFile
* @Author: hf
* @Version: 1.0.0
* @Date: 2019/2/11 14:49
* @Param: targetName 要删除的文件名称
*
* History:
* <author:> <time:> <version:> <desc:>
*/
export const deleteFile = targetName => {
RNFS.unlink(`${ExternalDirectoryPath}/${targetName}`)
.then(result => {
console.log(result, '删除成功!!');
});
};
- Numpy 修炼之道 (2)—— N维数组 ndarray
- python爬虫入门(五)Selenium模拟用户操作
- python爬虫入门(六) Scrapy框架之原理介绍
- lambda表达式杂谈
- python爬虫入门(七)Scrapy框架之Spider类
- python爬虫入门(八)Scrapy框架之CrawlSpider类
- python爬虫入门(九)Scrapy框架之数据库保存
- Numpy 修炼之道(1) —— 什么是 Numpy
- TensorFlow修炼之道(3)——计算图和会话(Graph&Session)
- 1.python简介
- 《Python自然语言处理》答案第三章
- 2.python数据类型
- Miller Rabin算法详解
- 3.python文件操作
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 来我们聊聊“简单工厂模式”
- 【python实现卷积神经网络】批量归一化层实现
- 【python实现卷积神经网络】池化层实现
- srand()和rand(),生成随机数,留给我自己看
- 【python实现卷积神经网络】padding2D层实现
- mybatis之全局配置文件中的标签
- 【python实现卷积神经网络】Flatten层实现
- Shiro框架学习笔记(二)基于内置ini文件的身份认证
- 【python实现卷积神经网络】上采样层upSampling2D实现
- mybatis映射文件之获取自增的主键
- django实战(二)--带多字段模糊查询的分页(也是不容易)
- 【python实现卷积神经网络】Dropout层实现
- 【python实现卷积神经网络】激活层实现
- django实战(三)--删除和批量删除
- 【python实现卷积神经网络】定义训练和测试过程