Отображение изображения из S3 с помощью AWS Amplify в React-Native

Я не могу заставить свое изображение отобразиться. Я загружаю защищенный образ на S3, без проблем. Затем я использую приведенный ниже код для получения изображения. Когда я регистрирую imageReturn, я получаю URL-адрес изображения с токеном.

state = {
    image: ''
}

async getImage(image) {
    let imageReturn = await Storage.get('9807139f-e5b4-428e-8dfb-d7cfeebe87ab.jpeg')
    this.setState({
        image: imageReturn
    })
}

Я пробовал визуализировать изображение двумя разными способами: с изображением react-native и с aws-amplify-react-native S3Image.

<Image source={this.state.image} style={{ width: 100, height: 100 }}/>

а также

<S3Image key={'9807139f-e5b4-428e-8dfb-d7cfeebe87ab.jpeg'} />

Любая помощь приветствуется. Спасибо!


person BHalvy82    schedule 19.05.2018    source источник
comment
это изображение должно быть частным? или вы должны продемонстрировать его в Интернете, и вы можете разрешить любому доступ к нему? тогда я могу рассказать вам, как это сделать [ссылка]( s3.amazonaws.com/mausamrest /desk.JPG)   -  person Mausam Sharma    schedule 19.05.2018
comment
Он должен быть виден всем, но редактироваться может только тот, кто его загружает.   -  person BHalvy82    schedule 19.05.2018
comment
Что бы вы сделали, если бы у вас было несколько изображений и вы хотите выбрать изображение на основе того, какой пользователь в данный момент вошел в систему?   -  person Evan Erickson    schedule 14.05.2021


Ответы (1)


AWS получает возвращаемый URL-адрес изображения, печать URL-адреса изображения Необходимо добавить uri . Пожалуйста, перепрограммируйте ваш фрагмент кода

<Image source={uri:this.state.image} style={{ width: 100, height: 100 }}/>
person Aboobakkar P S    schedule 19.05.2018
comment
Это была проблема, а также необходимость указать: Storage.configure({level: 'protected'}) - person BHalvy82; 19.05.2018