2016-12-15 240 views
1

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

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

解决了这个一段时间了,忘了把我所做的到现在为止,我基本上使用的库上方,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; 
}