Node.js Pipe Express JS请求和;对溪流的回应

Node.js Pipe Express JS请求和;对溪流的回应,node.js,amazon-s3,stream,blob,Node.js,Amazon S3,Stream,Blob,我正在尝试使用节点流构建一个文件流api,由(或任何其他实现的api)支持,但我似乎无法获得express请求或响应对象来将数据管道化到适当的读写流中 我使用的是基于服务的体系结构,类似于: this.Model是S3 blob存储的一个实例。由于request是一个可流化对象,因此我应该能够执行request.pipe(writeStream),但尽管请求返回201,但实际上没有写入任何数据 在下载方面,我如何将读取流输送到express response对象中 create(data, pa

我正在尝试使用节点流构建一个文件流api,由(或任何其他实现的api)支持,但我似乎无法获得express请求或响应对象来将数据管道化到适当的读写流中

我使用的是基于服务的体系结构,类似于:

this.Model
是S3 blob存储的一个实例。由于
request
是一个可流化对象,因此我应该能够执行
request.pipe(writeStream)
,但尽管请求返回
201
,但实际上没有写入任何数据

在下载方面,我如何将读取流输送到express response对象中

create(data, params) {
    return new Promise((resolve, reject) => {
      const { request } = params;
      if (typeof request === 'undefined') {
        reject(new Error('blob-service: no request object attached to params. Make sure to use the middleware'));
      } else {
        const contentType = request.get('Feathers-Content-Type');
        const streamId = shortid.generate();
        const extension = mimeTypes.extension(contentType);
        const id = `${ streamId }.${ extension }`;
        const writeStream = this.Model.createWriteStream({ key: id });
        writeStream.on('error', reject);
        writeStream.on('finish', () => {
            resolve({
             [ this.id ]: id
            });
         });
        request.pipe(writeStream);
      }
    });
  }