- Я пытаюсь загрузить изображение на s3 с помощью Amplify Storage API.
- Я использую EXPO imagePicker для загрузки изображения с телефона в React-Native, и оно отображается правильно.
- Затем я загружаю его в s3 с помощью ampify Storage.put, и он достигает нужной папки в s3, с правильным именем файла, которое я ему дал, и с открытым доступом, предоставленным мною (к изображению и самому контейнеру).
- НО, если я попытаюсь открыть фото URI в S3, он не отображается. Когда я проверяю браузер, он показывает эту ошибку на консоли:
- Если я вставлю в браузер URI, полученный из Storage.get, я получу эту ошибку:
_handleImagePicked = async (pickerResult) => {
const s3path = 'fotos_cdcc/' + '186620' + '/'
const imageName = '186620_4' + '.jpeg'
const key = s3path + imageName
const fileType = pickerResult.type;
const access = { level: "public", contentType: 'image/jpg' };
const imageData = await global.fetch(pickerResult.uri)
const blobData = await imageData.blob()
try {
await Storage.put(
key,
blobData,
access,
fileType
).then(result => console.log(result))
} catch (err) {
console.log('error: ', err)
}
}
- PickerResult имеет такую форму:
Object {
"cancelled": false,
"height": 750,
"type": "image",
"uri": "file:///var/mobile/Containers/Data/Application/021D6288-9E88-4080-8FBF-49F5195C2073/Library/Caches/ExponentExperienceData/%2540anonymous%252Fcaballos-app-dd2fa92e-4625-47e7-940e-1630e824347a/ImagePicker/D9EE1F24-D840-457F-B884-D208FFA56892.jpg",
"width": 748,
}
- Я попытался опубликовать корзину и фотографию в s3, но ошибка не исчезла.
Есть идеи?
Заранее спасибо!