Пример компонента загрузки изображений может быть полезен для вас. Примечание: требуется response-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>