连接丢失-读取ECONNRESET \写入EPIPE

时间:2019-09-15 12:42:59

标签: node.js nestjs

我已经在node js中构建了一个像这样的控制器:

  *@UseGuards(AuthenticationGuard)
  @ApiOperation({ title: 'Add Refund', description: 'add new reund with file' })
  @HttpCode(HttpStatus.OK)
  @ApiResponse({
    status: HttpStatus.OK,
    description: 'Upload File Success',
  })
  @UseInterceptors(FileInterceptor('file',
  {
    storage: diskStorage({
      destination:  __dirname,//+"/../../../../" , 
      filename: (req, file, cb) => {
      const randomName = Array(32).fill(null).map(() => (Math.round(Math.random() * 16)).toString(16)).join('')
      return cb(null, `${randomName}${extname(file.originalname)}`)}
    }
    )}
    ))

  @HttpCode(HttpStatus.NOT_FOUND)
  @ApiResponse({
    status: HttpStatus.OK,
    description: 'Invalid Upload File',
  })
  @Post(refundsUrls.addRefund)
  doAddRefund( @Req() request,
    @Body('refund_type') refundType:number,
    @Body('currency_code') currencyId:number,
    @Body('amount') amount:number,
    @Body('flight_id') flightId:number,
    @Body('is_iai_card') isIaiCard:string,
     @Body('local_image_path') localImagePath:string,
    @Body('refund_date') refundDate:Date
    ,@UploadedFile() file): Promise<RefundDataInterface> {


      const { id } = request.user;
  return this.refundProvider.addRefund(id,refundType,currencyId,amount,flightId,isIaiCard,localImagePath,refundDate,file);

  }*

该方法获取一些字符串参数和一个文件,并将信息保存在数据库中,在我的本地主机中运行良好,但是当我将代码上传到真实服务器时,它因以下错误而崩溃:

  

“错误”:{           “ statusCode”:404,           “ message”:“错误:连接丢失-读取ECONNRESET”,

或:

  

“错误”:{           “ statusCode”:404,           “ message”:“错误:连接丢失-写EPIPE”

我无法在调试本地工作站上犯此错误,这可能是该错误的原因吗?

1 个答案:

答案 0 :(得分:1)

我认为这段代码可以正常运行,因为它可以在您的计算机上运行,​​但是我想您无法连接到服务器上的数据库。在没有看到连接设置的情况下,可以将localhost设置为数据库访问权限,但是在Linux服务器上,应将其IP替换为127.0.0.1。 没有任何信息,很难提供更多帮助。