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

95
Visualizações
s3.getObject(...).createReadStream no es una función

Estoy tratando de enviar un archivo desde mi depósito s3 al cliente con mi aplicación NodeJS. Esto es lo que tengo hasta ahora:

 import { S3 } from '@aws-sdk/client-s3'; const BUCKET_NAME = process.env.S3_BUCKET_NAME; const s3 = new S3({ region: 'ap-southeast-2', httpOptions: { connectTimeout: 2 * 1000, timeout: 60 * 1000, }, }); router.get('/download/:id', async (req, res) => { console.log('api: GET /download/:id'); console.log('req.params.id: ', req.params.id); const result = await getRequiredInfo(req.params.id); if (typeof result !== 'number') { res.attachment(result.filename); await s3 .getObject({ Bucket: BUCKET_NAME, Key: result.location, }) .createReadStream() .pipe(res); } else { res.sendStatus(result); } });

Y cuando ejecuto este código, recibo esto:

 (node:11224) UnhandledPromiseRejectionWarning: TypeError: s3.getObject(...).createReadStream is not a function

Me pregunté sobre SO y parece que otros están funcionando bien con la combinación de getObject y createReadStream. ¿Hay algo que me estoy perdiendo en este punto? ¿Cómo debo enviar un archivo como flujo en la respuesta?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

.createReadStream() es un método en aws-sdk v2. @aws-sdk/client-s3 es parte de aws-sdk v3.

Para obtener la transmisión de la versión 3, deberá hacer lo siguiente:

 const response = await s3.getObject({ Bucket: BUCKET_NAME, Key: key, }); response.Body.pipe(res);

Para obtener más información sobre aws-sdk v3: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-s3/

about 4 years ago · Juan Pablo Isaza 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