req.pipe - 类型错误:reqPipe 不是函数

问题描述 投票:0回答:0

我正在尝试使用 aws 上传一些文件并使用 busboy 模块上传 multipart/form-data 文件。但是用管道说是busboy控制response的时候,出现错误:

req.pipe is not a function
.

我的代码:

reqHeaders
req.headers
reqFiles
req.files
reqBody
req.body
reqPipe
req.pipe
;

const errorThrow = require('../utils/errorThrow');
const busboy = require('busboy');
const aws = require('../utils/aws/aws');
const Arquivo = require('../database/models/arquivo');
const Servico = require('../database/models/servico');

/* formdata route */
const uploadDeArquivos = async (reqHeaders, reqFiles, reqBody, reqPipe) => {
    let bb = busboy({ headers: reqHeaders });
    bb.on('finish', async () => {
    const { salaoId, servico } = reqBody;
    let errors = [];
    let arquivos = [];

    if(reqFiles && Object.keys(reqFiles).length > 0) {
        for (let key of Object.keys(reqFiles)) {
          const file = reqFiles[key];
          const splitName = file.name.split('.');
          const fileName = `${new Date().getTime()}.${
            splitName[splitName.length - 1]
          }`;
          const path = `servicos/${salaoId}/${fileName}`;

          const response = await aws.uploadToS3(file, path);

          response.error ? errors.push({ error: true, message: response.message })
              : arquivos.push(path);
        };
    };

    if (errors.length > 0) throw errorThrow(500, errors[0]);

    //Criar Serviço
    let jsonServico = JSON.parse(servico);
    const novoServico = await Servico(jsonServico).save();

    //Criar arquivo
    arquivos = arquivos.map(arquivo => ({
        referenciaId: novoServico._id,
        model: 'Servico',
        caminho: arquivo,
    }));

    await Arquivo.insertMany(arquivos);

    return { servico: novoServico, arquivos };
    });
    reqPipe(bb);
};

module.exports = { uploadDeArquivos };
backend typeerror multipartform-data busboy
© www.soinside.com 2019 - 2024. All rights reserved.