我已经在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”
我无法在调试本地工作站上犯此错误,这可能是该错误的原因吗?
答案 0 :(得分:1)
我认为这段代码可以正常运行,因为它可以在您的计算机上运行,但是我想您无法连接到服务器上的数据库。在没有看到连接设置的情况下,可以将localhost设置为数据库访问权限,但是在Linux服务器上,应将其IP替换为127.0.0.1。 没有任何信息,很难提供更多帮助。