¿Cómo abro un archivo S3 en otra pestaña y no lo descargo? Tengo esta función que genera una URL prefirmada. El front-end luego abre esta URL. Sin embargo, lo que me gustaría que sucediera es abrir el archivo en otra pestaña para que el usuario pueda ver el archivo antes de descargarlo.
back-end
static async downloadFile(req, res, next) { s3.getSignedUrl('getObject', { Bucket: process.env.BUCKET_NAME, Key: req.body.fileName }, (error, url) => { if (error) { res.status(403).json({ err }) } else { res.status(200).json({ url }) } }) }Interfaz
User.downloadFile(fileName) // HTTP request was made in another file using axios .then((res) => { window.open(res.data.url) })Cualquier consejo es muy apreciado.
Debe establecer el tipo de contenido de la imagen en el correcto mientras carga la imagen en s3. como, establezca contentType en image/png si su imagen tiene formato .png . Si el tipo de contenido no es correcto o no está configurado, la imagen se descargará directamente en lugar de mostrarla en el navegador. Esto debería solucionar tu problema.