有什么办法可以从

问题描述 投票:0回答:1

我正在使用Iron Router将文件下载到客户端。

Router.route('zipfile', {
  where: 'server',
  path: '/zipfile/:name/:targetName',
  action: function() {
    var name = this.params.name;
    var targetName = this.params.targetName;
    var filename = `${ZIP_DIR}/${name}`;
    var file = fs.readFileSync(filename);
    var headers = {
      'Content-type': 'application/zip',
      'Content-disposition' : `attachment; filename=${targetName}.zip`,
    };
    this.response.writeHead(200, headers);
    return this.response.end(file);
  }
});

我想知道什么时候下载完成,这样我就可以删除服务器上的源文件。有什么简单的方法吗?

meteor download callback iron-router
1个回答
0
投票

你可以使用 onAfterAction 钩子

Router.onAfterAction(function(req, res, next) {
  // in here next() is equivalent to this.next();
}, {
  only: ['zipfile'],
  where: 'server
});
© www.soinside.com 2019 - 2024. All rights reserved.