我无法从网址获取图片,将图像存储在设备上,并成功打开/查看图片。
我能够成功获取图像(我相信)
我使用Buffer(npm缓冲区)将图像转换为base64,并使用react-native-fs将其保存到设备中。我不确定是否需要缓冲区转换。我可以stat
图像,一切看起来都很好。当我使用我下载的FileManager应用程序时,单击该文件,图像为空白。
let response = await axios.request({
url: imgUrl
});
let idxStart = imgUrl.lastIndexOf('/');
let idxEnd = imgUrl.lastIndexOf('.');
let filename = imgUrl.substring(idxStart + 1, idxEnd) + '.jpg';
let path = RNFS.DocumentDirectoryPath + `/${filename}`
let base64data = new Buffer(response.data).toString('base64');
RNFS.writeFile(RNFS.PicturesDirectoryPath + '/' + filename, base64data, 'base64').then(() => {
RNFS.stat(path).then(info => {
console.log(info);
});
RNFS.readFile(RNFS.PicturesDirectoryPath + '/' + filename, 'base64').then(data => {
// console.log('data:', data);
});
} ,error => {
console.log('error writing file:', error)
}).catch(error => { console.log('error:', error)});
如果有人能提供一个简单的工作示例,那就太棒了!