2017-07-28 113 views
1

我試圖在下載文件後重定向頁面。 這是代碼:下載文件後重定向 - Nodejs

app.get('/log', function(req,res){ 
    return res.download('file.txt', function(err){ 
      if(!err){ 
       return res.render('index.html'); 
      } 
     }); 
}) 

但每一次我得到這個錯誤時間: 錯誤:發送之後無法設置頭。

下載後還有另一種重定向/渲染方式嗎? (請在服務器端)。

回答

1

你不能這樣做,因爲標題已經與下載響應一起發送。

您可以通過自己操作響應來發送文件下載所需的標題併發送位置標題。請求者應該瞭解位置標題並相應地重定向。

例如。

const fileData = /* read file */; 
res.set({ 
    'Content-Type': 'text/plain', 
    'Location': '/' 
}); 
res.end(fileData); 
+0

您將如何編碼:'發送位置標題和'?它的代碼片段是什麼?謝謝。 – AllanJack

+0

@AllanJack更新,請檢查 –