老师请问下RN点击按钮下载一个远程视频链接到手机相册怎么弄?

来源:1-1 课前必读(不看会错过一个亿)

春去_秋来

2024-01-22

老师请问下RN点击按钮下载一个远程视频https://abc.com/123.mp4到手机相册怎么弄?
可以说下思路吗?
或者有没现成的npm包

写回答

1回答

CrazyCodeBoy

2024-01-22

使用`react-native-fs`这个npm包来下载远程视频并保存到手机相册。

```bash
npm install react-native-fs
```

然后,你可以按照以下步骤实现下载和保存视频的功能:

1. 导入所需的模块:

```javascript
import RNFS from 'react-native-fs';
import CameraRoll from '@react-native-community/cameraroll';
```

2. 编写下载和保存视频的函数:

```javascript
const downloadAndSaveVideo = async () => {
  const videoUrl = 'https://abc.com/123.mp4';
 
  try {
    const downloadOptions = {
      fromUrl: videoUrl,
      toFile: `${RNFS.DocumentDirectoryPath}/123.mp4`,
    };

    const downloadResult = await RNFS.downloadFile(downloadOptions).promise;

    if (downloadResult.statusCode === 200) {
      // 下载成功,保存到相册
      await CameraRoll.saveToCameraRoll(`file://${RNFS.DocumentDirectoryPath}/123.mp4`, 'video');
      console.log('视频保存成功!');
    } else {
      console.error('视频下载失败:', downloadResult.statusCode);
    }
  } catch (error) {
    console.error('发生错误:', error);
  }
};
```

3. 在按钮点击事件中调用该函数:

```javascript
<Button title="下载并保存视频" onPress={downloadAndSaveVideo} />
```

这样,当用户点击按钮时,会触发下载并将视频保存到手机相册。请确保在使用前阅读相关文档,以确保适应你的项目和需求。
0
0

RN入门到进阶,打造高质量上线App

解锁React Native开发应用新姿势,React Native新版本热门技术

3144 学习 · 3241 问题

查看课程