如何在nodejs中关闭请求?

Ada*_*dam 9 http request node.js express

是)我有的:

我正在使用带有快速框架的node.js,我正在构建一个可以上传文件的表单,我正在使用node-formidable.

有什么问题

我的问题是,如果我发现上传文件有错误,我无法关闭请求.我想检查文件类型,大小等.所以我可以上传正确的文件,文件实际上没有上传,所以我不浪费时间.

所以问题是我无法阻止HTTP请求.

我试过了什么

这是我到目前为止所尝试的:

request.connection.destroy();
response.end('something went wrong...');
Run Code Online (Sandbox Code Playgroud)

我假设connection.destroy()中止了请求,我知道这是因为它触发了强制表格中止事件(form.on('abort', function(){ ... }))但文件仍在上传,并且响应在文件上传后才到达.

那么我应该如何关闭HTTP请求,并将消息发送回客户端?

编辑:还有别的,当我不使用response.end()它然后它工作,除了客户端等待答案,这很奇怪:\

and*_*ieb 5

正确的方法是:

request.pause();
response.status = 400;
response.end('something went wrong...');
Run Code Online (Sandbox Code Playgroud)

来源:https//groups.google.com/forum/?fromgroups =#!topic / nodejs / 2gIsWPj43lI


Amo*_*rni 0

尝试使用以下代码:

  1. 当服务器端验证失败时,请给出如下响应:

    res.json({'IsFileUploaded':'false', 'requiredFileSize': '1000bytes', 'actualFileSize': '800bytes', 'AlertMsg':'File size should be at least 1000 bytes....'})

    它会关闭连接,并且您可以以 JSON 格式传递数据