所以我使用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));
答案 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;
}