我在从 url 获取图像、将图像存储在设备上以及成功打开/查看它时遇到了困难。
我能够成功获取图像(我相信)
我使用 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)});
如果有人可以提供一个简单的工作示例,那就太棒了!