Express提供了一個方便的方法來以附件的形式傳送文件: Response.download()

一旦使用這個方法來傳送文件的路由被用戶訪問,瀏覽器將提示用戶下載。

Response.download()方法允許您將文件附加到請求中,瀏覽器將把文件保存到磁盤,而不是在頁面上顯示出來。

app.get('/', (req, res) => res.download('./file.pdf'))

在應用程式的上下文中:

const express = require('express')
const app = express()

app.get('/', (req, res) => res.download('./file.pdf'))
app.listen(3000, () => console.log('伺服器準備就緒'))

您可以設定要以自訂文件名發送的文件:

res.download('./file.pdf', 'user-facing-filename.pdf')

該方法提供了一個回調函數,您可以在文件傳送完成後執行代碼:

res.download('./file.pdf', 'user-facing-filename.pdf', (err) => {
 if (err) {
 //處理錯誤
 return
 } else {
 //執行其他操作
 }
})