Изображение в base64 в родном реагировании

Как преобразовать локальное изображение в base64 в родной реакции и загрузить на сервер, пожалуйста, помогите кому-нибудь решить этот запрос. Я уже пытался использовать доступную в Google библиотеку с именем image-to-base64 npm.


person Janak Naliyapara    schedule 13.03.2019    source источник


Ответы (3)


С выставочным API

import { ImageManipulator } from 'expo';

const response = await ImageManipulator.manipulateAsync("file to local path", [], { base64: true })
console.log('base64res' + JSON.stringify(response));
person Vyas Reddy    schedule 17.06.2019

Все, ребята, мы можем получить строку изображения base64, используя средство выбора изображений в React Native для использования в профиле и многое другое. Здесь я помещаю фрагмент кода, который поможет получить строку base64 в реакции, используя функцию выбора изображения.

    selectPhotoTapped() {
const options = {
  quality: 1.0,
  maxWidth: 500,
  maxHeight: 500,
  storageOptions: {
    skipBackup: true,
  },
};

ImagePicker.showImagePicker(options, response => {
  console.log('Response = ', response.data);

  if (response.didCancel) {
    console.log('User cancelled photo picker');
  } else if (response.error) {
    console.log('ImagePicker Error: ', response.error);
  } else if (response.customButton) {
    console.log('User tapped custom button: ', response.customButton);
  } else {
    // let source = { uri: response.uri };  <-- here you can get uri of image
    //  var RNFS = require('react-native-fs');
    // You can also display the image using data:
    let source =  'data:image/jpeg;base64,'+ [response.data];  //<-- here you can get image with base64string

    this.setState({
      avatarSource: source,
    });

    // this.setState({
    //   Profile_Picture:this.state.avatarSource
    // })
    // console.log(this.state.Profile_Picture)


  }
});                                                                             

}

После этого вы можете использовать событие onPress для получения изображения из вашей библиотеки, но перед этим вы должны предоставить разрешение на использование изображения Android или IOS из локального хранилища. ссылка на установку средства выбора изображений Используйте эту ссылку для установки средства выбора изображений в React Native

person Janak Naliyapara    schedule 14.03.2019

Используя react-native-image-base64:

import ImgToBase64 from 'react-native-image-base64';

ImgToBase64.getBase64String('file://path/to/file')
  .then(base64String => {
       // Send the base64String to server
   })
  .catch(err => console.log(err));
person gbalduzzi    schedule 13.03.2019
comment
Сэр, вы можете отправить мне пример ?? - person Janak Naliyapara; 13.03.2019
comment
Большое спасибо, сэр, но я получил это другим способом. - person Janak Naliyapara; 14.03.2019