Categories
JavaScript Answers

How to pipe a stream to s3.upload() with Node.js?

Spread the love

To pipe a stream to s3.upload() with Node.js, we call the stream.PassThrough constructor.

For instance, we write

const uploadFromStream = (s3) => {
  const pass = new stream.PassThrough();
  const params = { Bucket: BUCKET, Key: KEY, Body: pass };
  s3.upload(params, (err, data) => {
    console.log(err, data);
  });

  return pass;
};

inputStream.pipe(uploadFromStream(s3));

to define the uploadFromStream function.

In it, we create a PassThrough object.

Then we call upload with the params object to upload the stream data.

Next, we call pipe with the PassThrough object returned by uploadFromStream to upload the inputStream data.

By John Au-Yeung

Web developer specializing in React, Vue, and front end development.

Leave a Reply

Your email address will not be published. Required fields are marked *