老师请问下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} />
```
这样,当用户点击按钮时,会触发下载并将视频保存到手机相册。请确保在使用前阅读相关文档,以确保适应你的项目和需求。00
相似问题