Android 如何从React Native Camera Roll将图片保存到特定文件夹
所以我用世博会的摄像头API来拍照,就像这样:Android 如何从React Native Camera Roll将图片保存到特定文件夹,android,ios,react-native,expo,camera-roll,Android,Ios,React Native,Expo,Camera Roll,所以我用世博会的摄像头API来拍照,就像这样: takePicture = async function() { if(this.camera) { this.camera.takePictureAsync().then(data => { CameraRoll.saveToCameraRoll(data.uri); }).then(() => { this.setState({ photoId: this.state.
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 () {
...
}
你也可以在这里看到答案。因为这里有同样的问题 我知道我来不及回答这个问题 您只需使用下面的npm包即可获得所需的输出 npm i@react原住民社区/摄影师 之后,您必须在try-catch块中使用下面的代码,这样您就可以轻松地将图像存储在所需的路径上
try{
CameraRoll.save(data.uri,{type:"photo",album:"../your folder name"}).
then((res)=>{console.log("save img...",res);}).
catch((err)=>{console.log("err for save img...",err);})
}
catch{
//your code...
}
我也在使用RNFetchBlob,但takePictureAsync方法不会返回data.api。。我想将从相机拍摄的图像存储在Picture Dir中所需的文件夹中。@ZainNazirButt,请在新的堆栈问题中描述您的问题,我(和社区)将尽力帮助您。@JulienAlige非常感谢。您建议使用react native fetch blob和文件系统访问API,这对我很有帮助。