在React Native中将图像镜像到base64

时间:2019-03-13 12:05:23

标签: react-native react-native-android

如何在react native中将本地映像转换为base64并上传到服务器上,请帮助任何人解决此查询。我已经尝试使用Google上名为 image-to-base64 npm的库。

3 个答案:

答案 0 :(得分:0)

使用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));

答案 1 :(得分:0)

所有人,我们都可以使用Image picker获得图像的base64字符串,以响应本机用于Profile的使用以及更多其他工作。 在这里,我放了一段代码,这将有助于使用图像选择器功能使base64字符串在react native中得到响应。

    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图像的权限。 图像选择器安装的链接 Use This Link for Installation of Image picker in react native

答案 2 :(得分:0)

使用expo API

import { ImageManipulator } from 'expo';

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