如何将图片从React Native Camera Roll保存到特定文件夹

所以我使用Expo的Camera API来拍照,就像这样:

takePicture = async function() { if(this.camera) { this.camera.takePictureAsync().then(data => { CameraRoll.saveToCameraRoll(data.uri); }).then(() => { this.setState({ photoId: this.state.photoId + 1, }); }); } }; 

现在,我想专门检索我用这个应用程序拍摄的图片以便以后使用。 我认为一个简单的方法是,如果应用程序将其图片保存到相机胶卷中的单独文件夹,就像Instagram在那里制作自己的文件夹一样。

如何让应用程序在相机胶卷中创建自己的文件夹,然后将图片保存到它?

在Android上 ,您可以使用react-native-fetch-blob及其文件系统访问API(PictureDir常量)。

例如,我这样做:

 try { const data = await this.camera.takePictureAsync() await RNFetchBlob.fs.mkdir(`${RNFetchBlob.fs.dirs.PictureDir}/myfolder`) await RNFetchBlob.fs.mv( data.api, `${RNFetchBlob.fs.dirs.PictureDir}/myfolder/${moment().unix()}.jpg` ) } catch () { ... } 

https://github.com/wkh237/react-native-fetch-blob/wiki/File-System-Access-API