Я пытаюсь загрузить файлы в AWS S3 Storage с доступом publi c, но, несмотря на явную настройку доступа publi c к коду, вместо этого файлы загружаются как частные. Я использую пакет aws -amplify в приложении Angular.
Это код, который я использую:
public onSubmit() {
this.form.disable();
const contentType: string = this.imgFile.extension === 'png' ? 'image/png' : 'image/jpeg';
// Image upload to AWS S3 storage.
Storage.put(this.imgFile.name, this.imgFile.content, {
progressCallback: (progress: any) => {
console.log(`Uploaded: ${progress.loaded}/${progress.total}`);
},
contentType: contentType,
ACL: 'public-read',
visibility: 'public',
level: 'public',
}).then((result: any) => {
this.img = S3_URL + replaceAll(result.key, ' ', '+');
// GraphQL API mutation service.
this.bannerService.createBanner(
this.img,
this.form.value.channel,
this.form.value.trailer,
this.backgroundColor,
this.buttonColor,
this.textColor,
);
// Re-enable the form.
this.form.enable({
onlySelf: true,
emitEvent: true,
});
// Clean all form fields.
this.formElement.nativeElement.reset();
}).catch((err) => {
console.log('error =>', err);
});
}
Есть идеи, почему S3 игнорирует доступ к publi c, который я указываю, и помещаю файлы как частные? Заранее спасибо!