![](/img/trans.png)
[英]Nodejs + mikeal/Request module, how to close request or increase MaxSockets
[英]How to close a request in nodejs?
我正在使用帶有express框架的 node.js ,並且正在構建一個可以上傳文件的表單,為此我使用了node-formidable 。
我的問題是,如果我發現上傳的文件有錯誤,則無法關閉請求。 我想檢查文件類型,大小等。這樣我就可以上傳正確的文件,而實際上這些文件沒有上傳,所以我不會浪費時間。
所以問題是我無法停止HTTP請求。
到目前為止,這是我嘗試過的:
request.connection.destroy();
response.end('something went wrong...');
我假設connection.destroy()
中止了請求,並且我知道這是因為它會觸發強大的表單中止事件( form.on('abort', function(){ ... })
)但文件仍在上傳,並且上傳文件后響應不會到達。
那么,如何關閉HTTP請求,然后將消息發送回客戶端呢?
編輯:和其他的東西,當我不使用response.end()
然后它工作,除了客戶端等待答案,這很奇怪:\\
正確的方法是:
request.pause();
response.status = 400;
response.end('something went wrong...');
來源: https : //groups.google.com/forum/?fromgroups =#!topic / nodejs / 2gIsWPj43lI
嘗試以下代碼:
當服務器端驗證失敗時,給出如下響應:
res.json({'IsFileUploaded':'false', 'requiredFileSize': '1000bytes', 'actualFileSize': '800bytes', 'AlertMsg':'File size should be at least 1000 bytes....'})
它會關閉連接,並且您可以以JSON格式傳遞數據
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.