Javascript 如何在node.js中创建流?

Javascript 如何在node.js中创建流?,javascript,node.js,stream,Javascript,Node.js,Stream,我有一个函数,它将流作为参数: startUpload(stream, filename) { const upload = this.s3.upload({ Bucket: this.bucket, ServerSideEncryption: 'aws:kms', SSEKMSKeyId: this.s3SseKmsKeyId, Key: `${this.key}/${filename}`, Body: stream

我有一个函数,它将
作为参数:

  startUpload(stream, filename) {
    const upload = this.s3.upload({
      Bucket: this.bucket,
      ServerSideEncryption: 'aws:kms',
      SSEKMSKeyId: this.s3SseKmsKeyId,
      Key: `${this.key}/${filename}`,
      Body: stream
    }, { partSize: 50 * 1024 * 1024, queueSize: 1 });
  }

如何创建流并向其中写入数据?

下面的代码适合我

const AWS = require('aws-sdk');
AWS.config.update({
        accessKeyId: process.env.AWS_KeyId,
        secretAccessKey: process.env.AWS_secret,
        // region:process.env.AWS_region  
});

const s3 = new AWS.S3({   signatureVersion: 'v4',  })
var multer = require('multer')
var multerS3 = require('multer-s3')
var photoBucket = new AWS.S3({
    params: {
        Bucket: 'carwhapps'
    }
})
// let source is like req.files.filename or test with static file like ./public/test.jpg
photoBucket.upload({
        ACL: 'public-read', 
        Body: fs.createReadStream(source), 
        Key: filename,
        ContentType: 'application/octet-stream' // force download if it's accessed as a top location
},(err, response)=>{
    console.log(err, response)

})

我会检查和,除非我没有从文件中读取。我正在尝试直接写入流。好的,我已经在带有connect multiparty plugin的express应用程序中提到,您在req.files对象中获得了文件,并将post文件直接发送到createReadStream()检查我的注释,前提是您没有将文件保存在磁盘中,并且http请求已经以流的形式到达服务器