Reactjs 反应本机:将本地映像转换为base64字符串

Reactjs 反应本机:将本地映像转换为base64字符串,reactjs,react-native,react-native-fs,Reactjs,React Native,React Native Fs,在Javascript中将本地图像转换为base64字符串。我正在android设备中测试,我的图像路径如下: ../../Images/Stickers/Bigottario/14.png 如何将项目本地文件夹中的图像转换为base64? 我已尝试使用react native fs,如下所示 RNFS.readFile(this.state.StateStrickersobject.imagePath, 'base64').then(image => {

在Javascript中将本地图像转换为base64字符串。我正在android设备中测试,我的图像路径如下:

../../Images/Stickers/Bigottario/14.png

如何将项目本地文件夹中的图像转换为base64? 我已尝试使用react native fs,如下所示

        RNFS.readFile(this.state.StateStrickersobject.imagePath, 'base64').then(image => {
            alert("22222222222222222"+image)
          });

示例图像上传器组件可能对您有所帮助。 注意:react本机图像选择器模块是必需的。翻译服务是可选的

import React from 'react';
import { View, TouchableOpacity, ScrollView, Alert } from 'react-native';
import {
    Item, Label, Thumbnail, Button, Icon, Text
} from 'native-base';
import ImagePicker from 'react-native-image-picker';
import { translate } from '../../Services/Translation/TranslationService';

selectPhotoTapped = ({ Image, onDataChanged }) => {
    const options = { quality: 1.0, maxWidth: 500, maxHeight: 500, storageOptions: { skipBackup: true } };
    ImagePicker.showImagePicker(options, (response) => {
        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 {
            Image = Image ? Image : {};
            Image.uri = response.uri;
            Image.ImageStream = response.data;
            onDataChanged(Image);
        }
    });
}

const ImageUploader = (props) => {
    return (
        <View>
            <Item fixedLabel style={{ paddingRight: 10 }} error={props.error}>
                <Label>
                    {props.children}
                </Label>
                <Button block onPress={() => selectPhotoTapped(props)} style={{ backgroundColor: "#8995A6" }}>
                    <Text uppercase={false}>{translate("choose_file")}</Text>
                    <Icon name='camera' />
                </Button>
            </Item>
        </View>
    );
}

export { ImageUploader };
从“React”导入React;
从“react native”导入{View、TouchableOpacity、ScrollView、Alert};
进口{
项目、标签、缩略图、按钮、图标、文本
}来自“本土基地”;
从“react native image picker”导入ImagePicker;
从“../../Services/Translation/TranslationService”导入{translate}”;
选择PhotoTapped=({Image,onDataChanged})=>{
const options={quality:1.0,maxWidth:500,maxHeight:500,storageOptions:{skipBackup:true}};
ImagePicker.showImagePicker(选项,(响应)=>{
if(response.didconcel){//console.log('User cancelled photo picker');
}
else if(response.error){//console.log('ImagePicker error:',response.error);
}
else if(response.customButton){//console.log('用户点击了自定义按钮:',response.customButton);
}
否则{
图像=图像?图像:{};
Image.uri=response.uri;
Image.ImageStream=response.data;
ONDATA(图像);
}
});
}
常量图像上传器=(道具)=>{
返回(
{props.children}
选择phototapped(props)}style={{{backgroundColor:#8995A6}}>
{translate(“选择_文件”)}
);
}
导出{ImageUploader};
示例显示方法

<ImageUploader 
  error={checkError(`${prefix}DocumentImages`)} 
  Image={this.state.image}
  onDataChanged={(image) => console.log(image)} >
  <Label> Select photo</Label>
</ImageUploader>
console.log(图像)}>
选择照片