React Native-调整图像大小并转换为base64

Mat*_*Aft 8 base64 image-resizing react-native

所以我使用 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));
Run Code Online (Sandbox Code Playgroud)

Mat*_*Aft 7

前阵子解决了这个问题,直到现在忘记了我所做的事情,我基本上使用了上面的库并将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;
}
Run Code Online (Sandbox Code Playgroud)