【问题标题】:React-Native: Convert local image to base64 stringReact-Native:将本地图像转换为 base64 字符串
【发布时间】:2020-06-01 00:56:21
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: reactjs react-native react-native-fs


    【解决方案1】:

    示例图片上传器组件可能对您有所帮助。 注意:react-native-image-picker 模块是必需的。翻译服务是可选的

    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 };
    

    示例显示方法

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

    【讨论】:

      猜你喜欢
      • 2016-04-26
      • 2022-10-17
      • 2019-10-03
      • 2014-09-14
      • 2015-12-26
      • 2021-01-28
      • 2018-09-07
      • 2014-07-21
      • 2019-07-12
      相关资源
      最近更新 更多