React Native- Resize Image并转换为base64

时间:2016-12-15 19:15:12

标签: react-native base64 image-resizing

所以我使用react-native-signature-capture来捕获签名,但我不想在编码之前减少图像大小。我使用https://github.com/bamlab/react-native-image-resizer来调整图片大小,但现在我不知道如何将其转换为base64。我尝试使用RN的ImageStore,但是我得到了图像文件路径的错误。请参阅下面的代码:

ImageResizer.createResizedImage(encoded.pathName, 200, 100, 'PNG', 80, null, encoded.pathName)
  .then((resizedImageUrl) => {
    ImageStore.getBase64ForTag(resizedImageUrl, (data) => {
      console.log(data);
    }, (err) => console.log(err));
  })
  .catch((err) => console.log('failed to resize: ' + err));

1 个答案:

答案 0 :(得分:4)

前一段时间解决了这个问题并且忘了把我所做的事情直到现在,我基本上使用了上面的库并react-native-fs来调整大小并将图像检索为base64:

handleBase64 = async (path) => {
  const resizedImageUrl = await ImageResizer.createResizedImage(path, 200, 80, 'PNG', 80, 0, RNFS.DocumentDirectoryPath);
  const base64 = await RNFS.readFile(resizedImageUrl, 'base64');
  return base64;
}