gpt4 book ai didi

reactjs - 如何在 React Native 中使用图像文件并将其转换为 Uint8Array?

转载 作者:行者123 更新时间:2023-12-04 13:59:10 27 4
gpt4 key购买 nike

我正在处理 React-Native-OpenPGP用于加密和解密。我想从我的文件夹中获取图像(本地镜像获取)/图像 url 并将该图像转换为 Uint8Array 以进行加密/解密。我是 native react 的新手,无法找到更好的解决方案。链接也可以提供帮助。需要一个过程来给出图像路径并将其转换为 Uint8Array。

此外,还需要一种将图像文件转换为二进制数据以进行加密/解密的解决方案。 openpgp 是否有可能提供两种方法,一种是通过 String ,另一种是通过 Uint8Array 数据?

最佳答案

不知何故,花了一天的时间后,我设法将图像文件转换为 BLOB 通过 b64-to-blob .此 attached link帮助我这样做。我是这样做的:

第一步:从'react-native-image-base64'导入ImgToBase64;

第 2 步:您必须安装 npm i -S base-64(用于在 atob、btoa 中进行编码和解码)

第 3 步:从'base-64'导入{解码为atob,编码为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);
}

}

第七步:然后生成 key ,通过openpgp库中的UInt8Array方法进行加解密

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

关于reactjs - 如何在 React Native 中使用图像文件并将其转换为 Uint8Array?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55018066/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com