Как закрыть запрос в nodejs? - PullRequest
       22

Как закрыть запрос в nodejs?

8 голосов
/ 27 августа 2011

Что у меня есть:

Я использую node.js с Express Framework , и я создаю форму, где я могу загружать файлы, яЯ использую node-formidable для этого.

В чем проблема

Моя проблема в том, что я не могу закрыть запрос, если обнаружил ошибку в загруженных файлах,Я хочу проверить типы файлов, размер и т. Д. Таким образом, я могу загрузить нужные файлы, а файлы фактически не загружаются, поэтому я не трачу время.

Так что проблема в том, что я не могуостановите HTTP-запрос.

То, что я пробовал

Вот то, что я пробовал до сих пор:

request.connection.destroy();
response.end('something went wrong...');

Я предполагаю, что connection.destroy() прерывает запрос,и я знаю это, потому что он запускает событие прерывания формы грозного размера (form.on('abort', function(){ ... })), но файл все еще загружается, и ответ не приходит сразу после загрузки файла.

Так как следуетЯ закрываю HTTP-запрос и отправляю сообщение обратно клиенту?

РЕДАКТИРОВАТЬ: И еще что-то, когда я не использую response.end(), тогда он работает, за исключением того, что клиент ждетответ странный: \

Ответы [ 2 ]

4 голосов
/ 28 марта 2013

Правильный способ сделать это:

request.pause();
response.status = 400;
response.end('something went wrong...');

Источник: https://groups.google.com/forum/?fromgroups=#!topic/nodejs/2gIsWPj43lI

0 голосов
/ 04 марта 2013

Попробуйте ввести следующий код:

  1. Если проверка на стороне сервера не пройдена, введите ответ:

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

    Соединение закрываетсяа также вы можете передавать свои данные в формате JSON

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...