我有一個包含文件上傳/下載功能的頁面。 當我嘗試下載文件和取消保存文件提示(發生在res.writeHead
部分之後)時,它將保留文件頭並等待res.write
和res.end
部件。如何在取消保存文件提示時避免「發送後無法設置標題」
問題是,如果提示被取消,這些都會被轉義,從而使其他響應失敗並顯示錯誤「發送後無法設置標題」。
反正有沒有辦法結束響應捕獲已取消的提示事件是某種方式,或以任何其他方式來避免這種情況?
,設置標題和(位於被稱爲在/download/:filename
路線功能)文件下載流數據的部分是:
res.writeHead(200, {'Content-Type': 'application/octet-stream'});
var readstream = gfs.createReadStream({
filename: files[0].filename
});
readstream.on('data', function(data){
res.write(data);
});
readstream.on('end', function(){
res.end();
});
如果這個順序沒有完成,每其他響應失敗。
例如:
res.status(403).send('You have no access to this file');
,稱爲在同一頁中。 (我想,如果我重定向到另一個網頁標題實際上清關?)
*如果我選擇下載位置,然後按確定,沒有錯誤*我沒有在雙反應發生
循環,以避免這種錯誤的答案:)快遞
您使用的是一個全球性的資源OBJ ECT?請告訴我們一些代碼 –
請添加一些代碼 – prasun
感謝您的答案,更新了代碼 – melkoras