如何在React Native中使用并将图像文件转换为UINT8ARRAY



我正在研究反应本性 - openpgp以进行加密和解密。我想从文件夹(本地图像获取)/图像URL中获取图像,然后将该图像转换为uint8array进行加密/解密。我是新手反应天然的,找不到更好的解决方案。链接也可以提供帮助。需要一个过程来提供图像路径并将其转换为UINT8Array。

此外,还需要一个解决方案,将图像文件转换为二进制数据以进行加密/解密。是否有可能因为OpenPGP提供了两种方法,该方法是通过字符串进行的,而另一种是通过Uint8array数据?

在上面度过一天后,我设法将图像文件转换为 blob 通过b64-to-blob。这个附带的链接帮助我这样做。我以这种方式完成了此操作:

步骤1:从'react-native-image-base64';

导入imgtobase64;

步骤2:您必须安装npm i -s base -64(用于ATOB中的编码和解码,BTOA)

步骤3:导入{decode as at at as atob,从'base-64'

编码为btoa}

步骤4: var b64toblob = require('b64-to-blob');,var basestringsample;

步骤5:使您的图像转换为base64

_convertImageToBaseSixFour() { 
    ImgToBase64.getBase64String('YOUR_IMAGE_PATH') // path to your image from local storage
  .then((base64String) => {
        baseStringSample = base64String,
        })
  .catch(err => Alert.alert('Error' + err));
}

步骤6:

// ****** CONVERT BASE64 TO BLOB ******* //
  _imageToBlob(){
    var byteCharacters = atob(baseStringSample);
    var byteNumbers = new Array(byteCharacters.length);
for (var i = 0; i < byteCharacters.length; i++) {
    byteNumbers[i] = byteCharacters.charCodeAt(i);
    byteArray = new Uint8Array(byteNumbers);
    console.log("BYTEARRAY: " + byteArray);
}
} 

步骤7:然后生成的键,通过openPGP库中的uint8array方法进行了加密和解密

步骤8:将解密的图像转换为base64,然后将base64转换为图像,在图像视图中显示图像。

相关内容

  • 没有找到相关文章

最新更新