我正在尝试从 Koa 中的 POST 请求处理程序触发下载koa-router
。本质上,我正在尝试做这样的事情:
应用程序.js
const Koa = require('koa')
const router = require('./router')
const app = new Koa()
app.use(router.routes())
app.use(router.allowedMethods())
app.listen(3000)
路由器.js
const fs = require('fs')
const Router = require('koa-router')
const router = new Router()
router.post('/generate', function * () {
const path = `${__dirname}/test.txt`
this.body = fs.createReadStream(path)
this.set('Content-disposition', 'attachment; filename= test.txt')
})
module.exports = router
客户端.js
const { fetch } = window;
const request = {
method: 'POST',
body: JSON.stringify({ fake: 'data' })
}
// Make the POST request
fetch('/generate', request)
但是,当发送 POST 请求时,什么也没有发生。我在服务器控制台或浏览器控制台中也没有收到任何错误。任何帮助,将不胜感激!