Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

164
Visualizações
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.

about 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

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.

about 4 years ago · Santiago Trujillo Relatório

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.

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda