天天看點

nestjs 接受請求傳回檔案流

import { Response } from 'express';
import { PassThrough } from 'stream';
import {
  Get,
  Header,
  Res,
} from '@nestjs/common';

const QRCode = require('qrcode');

@Get('getqrcode')
@Header('Content-Type', 'image/png')
generateQRCode(@Res() res: Response): Promise<any> {
    const url = 'www.baidu.com';
    const qrStream = new PassThrough();
    await QRCode.toFileStream(qrStream, url, {
      type: 'png',
      width: 200,
      errorCorrectionLevel: 'H',
    });

    qrStream.pipe(res);  
}
           

看代碼很容易懂,不過這個有重點,就是

Response

必須從 express 引入的。