Я использую грозный, чтобы получить загрузку файла с помощью node.js. Я отправляю несколько полей вместе с файлом в многостраничном запросе.
Как только появятся определенные поля, я могу проверить подлинность запроса для экземпляра, и я хотел бы прервать весь запрос, если это неверно, чтобы избежать перетаскивания ресурсов.
Я не нашел правильный способ прервать входящий запрос. Я попытался использовать req.connection.destroy();
следующим образом:
form
.on('field', function(field, value) {
fields[field] = value;
if (!fields['token'] || !fields['id'] || !fields['timestamp']) {
return;
}
if (!validateToken(fields['token'], fields['id'], fields['timestamp'])) {
res.writeHead(401, {'Content-Type' : 'text/plain' });
res.end('Unauthorized');
req.connection.destroy();
}
})
Однако это вызывает следующую ошибку:
events.js:45
throw arguments[1]; // Unhandled 'error' event
^
Error: Cannot resume() closed Socket.
at Socket.resume (net.js:764:11)
at IncomingMessage.resume (http.js:254:15)
at IncomingForm.resume (node_modules/formidable/lib/incoming_form.js:52:11)
at node_modules/formidable/lib/incoming_form.js:181:12
at node_modules/formidable/lib/file.js:51:5
at fs.js:1048:7
at wrapper (fs.js:295:17)
Я также пробовал req.connection.end()
, но файл продолжает загружаться.
Любые мысли? Спасибо заранее!