Una de las funciones de mi aplicación es almacenar imágenes de automóviles en un cubo s3. Las imágenes se clasifican por su URL, por ejemplo: https://{bucketName}.s3.amazonaws.com/{vin}/{photoCategory}.jpg https://{bucketName}.s3.amazonaws.com/1B3EL46X95N553721/Full_Instrument_Cluster.jpg
El usuario debe poder actualizar las imágenes en una URL determinada. Al probar la implementación de esta función, pude confirmar que la imagen se está reemplazando en s3, sin embargo, este cambio no aparece en el navegador incluso después de actualizar la página. Mi única suposición es que debido a que la URL no cambia, el navegador ha almacenado en caché la imagen de s3. Quería saber si había alguna forma de evitar este comportamiento, para evitar que el navegador almacene en caché la imagen.
const uploadParams = { Bucket: "bucketName", Key: "filePath", Body: fileStream, Metadata: { Cache: "no-cache" } }; const s3Data = await client.send(new PutObjectCommand(uploadParams));Lo que puede hacer es si no tiene ninguna otra capa de almacenamiento en caché (CDN, trabajador de servicio, etc.) en su configuración para establecer el Cache-Control del objeto S3 en no-cahe la siguiente manera.
Vaya al objeto -> Seleccione Edit Metadata -> agregue el header/metadata