【发布时间】:2016-02-02 15:15:17
【问题描述】:
我使用 Koa 作为网络服务器来为我的 Polymer 应用程序提供服务。按下前端中的按钮时会调用localhost:3000/export。在将一些文件打包到 zip 存档后,我想向客户端提供文件下载。
如何在 Koa.js 中做到这一点?
这是一个关于如何在 Express 中执行此操作的示例(另一个选项是 download-helper
app.get('/export', function(req, res){
var path = require('path');
var mime = require('mime');
var file = __dirname + '/upload-folder/dramaticpenguin.MOV';
var filename = path.basename(file);
var mimetype = mime.lookup(file);
res.setHeader('Content-disposition', 'attachment; filename=' + filename);
res.setHeader('Content-type', mimetype);
var filestream = fs.createReadStream(file);
filestream.pipe(res);
});
我正在寻找这样的东西:
router.post('/export', function*(){
yield download(this, __dirname + '/test.zip')
})
【问题讨论】: