Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

167
Vistas
S3.getSignedUrl para aceptar varios tipos de contenido

Estoy usando el paquete de nodos react-s3-uploader , que toma una signingUrl de firma para obtener una URL firmada para almacenar un objeto en S3.

Actualmente, configuré una función lambda (con un punto final de API Gateway) para generar esta URL firmada. Después de algunos retoques, lo hice funcionar, pero noté que tengo que definir en mi función lambda el content-type , que se ve así:

 var AWS = require('aws-sdk'); const S3 = new AWS.S3() AWS.config.update({ region: 'us-west-2' }) exports.handler = function(event, context) { console.log('context, ', context) console.log('event, ', event) var params = { Bucket: 'video-bucket', Key: 'videoname.mp4', Expires: 120, ACL: 'public-read', ContentType:'video/mp4' }; S3.getSignedUrl('putObject', params, function (err, url) { console.log('The URL is', url); context.done(null, {signedUrl: url}) }); }

El problema es que quiero que esta URL firmada pueda aceptar varios tipos de archivos de video y he intentado configurar ContentType en video/* , que no funciona. Además, debido a que este punto final lambda no es lo que realmente toma la carga, no puedo pasar el tipo de archivo a esta función de antemano.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Tendrá que encontrar una manera de descubrir el tipo de archivo y pasarlo a la función Lambda como argumento. No hay una alternativa, aquí, con un PUT .

El proceso de firma de solicitud para PUT no prevé comodines o valores múltiples/alternativos.

over 4 years ago · Santiago Trujillo Denunciar

0

En caso de que alguien más esté buscando una respuesta funcional, finalmente descubrí que react-s3-uploader pasa el tipo de contenido y el nombre de archivo a la URL de getSignin (excepto que había olvidado pasar la consulta en API Gateway antes), entonces pude extraerlo como event.params.querystring.contentType en lambda.

Luego, en los parámetros, simplemente configuro {ContentType: event.params.querystring.contentType} y ahora acepta todos los formatos de archivo.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda