Как использовать и конвертировать файл изображения в Uint8Array в реагировать родной? - PullRequest
1 голос
/ 06 марта 2019

Я работаю над React-Native-OpenPGP для шифрования и дешифрования.Я хочу взять изображение из моей папки (локальная выборка изображений) / URL-адрес изображения и преобразовать это изображение в Uint8Array для шифрования / дешифрования.Я новичок, чтобы реагировать на родную, Не могу найти лучшего решения.Ссылки также могут помочь.Нужен процесс, чтобы задать путь к изображению и преобразовать его в Uint8Array.

Кроме того, также необходимо решение для преобразования файла изображения в двоичные данные для шифрования / дешифрования.Возможно ли, так как openpgp предоставляет два способа сделать это - через String, а другой - через данные Uint8Array?

1 Ответ

0 голосов
/ 07 марта 2019

Как-то потратив на это день, мне удалось преобразовать файл изображения в BLOB через b64-to-blob .Эта прикрепленная ссылка помогла мне сделать это.Я сделал это следующим образом:

Шаг 1: импорт ImgToBase64 из'act-native-image-base64 ';

Шаг 2: Вы должны установить npm i -S base-64 (для кодирования и декодирования в atob, btoa)

Шаг 3: import {декодировать как atob, кодировать как btoa} из 'base-64 '

Шаг 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: Затем сгенерировал ключи, сделал шифрование и дешифрование с помощью метода UInt8Array в библиотеке openpgp

Шаг 8: Преобразовал дешифрованное изображение в base64, а затемbase64 to Image, показывает изображение в Imageview.

...