Загрузить изображение как новое изображение профиля в SendBird - PullRequest
0 голосов
/ 29 ноября 2018

В настоящее время работает над проектом SendBird и native-native, где модуль предназначен для изменения автоматически сгенерированного изображения профиля profileUrl на новое изображение, снятое с камеры телефона или из хранилища галереи.Однако следующий код, который я набрал, не работает, и он либо показывает ошибку, либо приложение зависает.Могу ли я знать, где я сделал не так?(Изображение загружено / выбрано с использованием response-native-image-picker).

    _changeProfileImg(){
    ToastAndroid.show('ClickedImage', ToastAndroid.SHORT);
    var _Self = this;
    var source = [];

    ImagePicker.showImagePicker(options, (response) => {
        if (response.didCancel){
            console.log('user canceled image picker');
        }
        else if (response.error){
            console.log('imagePicker error', response.error);
        }
        else if (response.customButton){
            console.log('customised clicked', response.customButton);
        }
        else{
            source = {uri:response.uri};
            // const source = { uri: 'data:image/jpeg;base64,' + response.data };
            this.setState({
                profileUrl: source,
            });
        }
    });
}

render(){
    return(
        <View style={styles.container}>

            <View style={styles.contentFlex}>
            <Text>{this.state.profileUrl}</Text>

                <Avatar
                    rounded
                    size="xlarge"
                    source={{uri: this.state.profileUrl}}
                    onPress={this._changeProfileImg.bind(this)}
                    activeOpacity={0.7}
                />
        </View>

1 Ответ

0 голосов
/ 29 ноября 2018

Вы должны назначать response.uri только в profileUrl, а не {uri: response.uri}, поскольку вы уже указали uri при подаче source с profileUrl в avatar.

...