1.安装react-native-fs

注意版本,npm上是这样描述的。

For RN < 0.57 and/or Gradle < 3 you MUST install react-native-fs at version @2.11.17!
For RN >= 0.57 and/or Gradle >= 3 you MUST install react-native-fs at version >= @2.13.2!
For RN >= 0.61 please install react-native-fs at version >= @2.16.0!
npm install react-native-fs --save

2. 链接

react-native link react-native-fs

import RNFS from 'react-native-fs';
_download(){
    const timestamp = (new Date()).getTime();//获取当前时间错
    const random = String(((Math.random() * 1000000) | 0))//六位随机数
    let dirs = Platform.OS === 'ios' ? RNFS.LibraryDirectoryPath : RNFS.ExternalDirectoryPath ; 
    //外部文件,共享目录的绝对路径(仅限android)
    const downloadDest = `${dirs}/${timestamp+random}.mp4`;
	//下载地址
    const formUrl = 'http://www.xxx/xxx.mp4';
    const options = {
      fromUrl: formUrl,
      toFile: downloadDest,
      background: true,
      begin: (res) => {
        ToastAndroid.show('开始下载',ToastAndroid.SHORT)
        console.log('begin', res);
        console.log('contentLength:', res.contentLength / 1024 / 1024, 'M');
      progress: (res) => { //下载进度
        let pro = res.bytesWritten / res.contentLength;
        console.log('pro==',pro)
    try {
      const ret = RNFS.downloadFile(options);
      ret.promise.then(res => {
        console.log('success', res);
        console.log('file://' + downloadDest)
		//如果下载的是  视频或图片 可以保存到相册,方便查看
        const promise = CameraRoll.saveToCameraRoll(downloadDest)
        promise.then(result => {
          //alert('保存成功!地址如下:\n' + result);
          //下载成功,请在相册中查看
          console.log('down res',result);
        }).catch(function(error) {
          console.error('error2', error);
          // alert('保存失败!\n' + error);
      }).catch(err => {
          console.log('err', err);
    }catch (e) {
      ToastAndroid.show('下载失败',ToastAndroid.SHORT)
      console.log(error);

下载文件nginx配置

一般下载的文件存放在服务器上,可以用 nginx 来配置访问规则,比如我下载的是 mp4 文件,mp4文件存放在 d:/mp4/文件夹下,访问方式为  nginx地址 : 端口号/文件名.mp4(如 http://192.168.27.41:8090/test.mp4 )

打开nginx 配置文件(nginx.conf),在 server 节点如下配置

location ~* \.(mp4)$ {
        root d:/mp4/;
				
实现APP下载安装包,下载完成自动弹出安装页面,兼容安卓6.0以下及7.0 一. 找到android\app\src\main\java\com\XXX\ ,其中XXX为包名,其文件夹下有MainApplication.java与MainActivity.java两个文件,新建三个文件: DownloadApk.java package com.XXX; // XXX为包名,与MainAppl...
github链接: https://github.com/itinance/react-native-fs 另外还有一个下载的库 :https://github.com/wkh237/react-native-fetch-blob npm install react-native-fs --save react-native li
React-Native-FS 深入指南 react-native-fs项目地址:https://gitcode.com/gh_mirrors/rea/react-native-fs React-Native-FS 是一个用于React Native应用的本地文件系统访问库。它提供了广泛的API来操作文件、目录以及进行上传和下载。以下是关于此项目的详细指南。 1. 项目目录结构及介绍 项目根目录...
react-native-fs 存储下载文件报错Module AppRegistry is not a registered callable module(calling runApplication) 做之前百度了一下,按照百度出来的例子写了一下,在 ios 的模拟器上跑了一遍没什么问题,但是到 ios 真机上就开始报错,报错内容是 Module AppRegistry is not a re...
今天来说一下android端apk的下载安装遇到的问题; 先说一下,android如何下载安装的吧,附上我参考的链接, https://blog.csdn.net/weixin_42284466/article/details/84898859 https://www.jianshu.com/p/bd9495425d7f 通过以上两个链接即可完成下载安装 再说一个安装过程中我遇到的报错, 注意这个...
一、React Native 下载组件:RN的组件都是需要从网上下载的。正常来说,我们通过npm start打开服务器之后,直接用npm下载即可。常用的组件,例如按钮,滚动等,都是可以直接下载的。下载组件的命令是: npm install 组件名称 –save 解释:安装的同时,将信息写入package.json中二、下载完成之后,package.json中会有引入的项目。在node_modu
context.getFilesDir(); // /data/data/包名/cache context.getCacheDir(); //这两个文件夹下的内容会随着app卸载而删除 // /storage/emulated/0 Environment.getExternalStorageDirectory()... ```JavaScript MainBundlePath (String) 主包目录的绝对路径(在 Android 上不可用) CachesDirectoryPath (String) 缓存目录的绝对路径 ExternalCachesDire
React Native FS 是一个用于访问设备文件系统的React Native模块。它提供了一组简单易用的API,可以让你访问设备的文件系统,包括读取、写入、删除、重命名和创建文件等操作。 要使用React Native FS,首先需要安装它。你可以使用npm安装它: npm install react-native-fs --save 然后,你需要在你的React Native应用中导入它: import RNFS from 'react-native-fs'; 一旦你导入了RNFS,你就可以使用它提供的各种方法来操作文件系统了。例如,如果你需要读取一个文件,你可以使用RNFS.readFile()方法: RNFS.readFile('/path/to/file', 'utf8') .then((contents) => { console.log(contents); .catch((err) => { console.log(err.message, err.code); 这个方法会返回一个Promise对象,如果文件被成功读取,它会将文件内容作为字符串传递给then()方法的回调函数。如果有错误发生,它会将错误信息传递给catch()方法的回调函数。