从URL保存图像,存储在设备上,并在RN

时间:2016-10-05 20:04:45

标签: react-native react-native-android react-native-fs

我无法从网址获取图片,将图像存储在设备上,并成功打开/查看图片。

我能够成功获取图像(我相信)

我使用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)});

如果有人能提供一个简单的工作示例,那就太棒了!

0 个答案:

没有答案