Estoy tratando de cargar archivos en AWS S3 Storage con acceso público, pero a pesar de configurar explícitamente el acceso público en el código, los archivos se cargan como privados. Estoy usando el paquete aws-amplify en una aplicación Angular.
Este es el código que estoy usando:
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); }); }¿Alguna idea de por qué S3 ignora el acceso público que estoy indicando y coloca los archivos como privados? ¡Gracias por adelantado!
Verifique la configuración de la propiedad de su depósito; tal vez esté configurado para bloquear el acceso público sin importar cuál sea su permiso. Además, verifique la configuración de su cuenta que no bloquea el acceso público a S3 https://aws.amazon.com/s3/features/block-public-access/