【发布时间】:2014-09-20 22:08:12
【问题描述】:
在 php 中,您可以使用 headers 来强制下载文件,也可以隐藏实际文件位置等。
如果您只希望某些用户在某些条件下能够下载某些文件,这很有用。
我将如何在流星中做到这一点?我玩过 Node.js fs 模块,并设法在客户端检索文件的二进制版本。但是我如何将其转换为已下载的实际文件?
谢谢!
【问题讨论】:
在 php 中,您可以使用 headers 来强制下载文件,也可以隐藏实际文件位置等。
如果您只希望某些用户在某些条件下能够下载某些文件,这很有用。
我将如何在流星中做到这一点?我玩过 Node.js fs 模块,并设法在客户端检索文件的二进制版本。但是我如何将其转换为已下载的实际文件?
谢谢!
【问题讨论】:
三个简单的步骤:
mrt add iron-router
创建一个服务器方法来提供您的文件。下面是一个例子:
Router.map(function () {
this.route('get-image', {
where: 'server',
path: '/img',
action: function () {
console.log('retrieving ' + this.request.query.name);
this.response.writeHead(200, {'Content-type': 'image/png'}, this.request.query.name);
this.response.end(fs.readFileSync(uploadPath + this.request.query.name));
}
});
});
在本例中,请求是带有一个参数name=name-of-pdf.pdf 的HTTP GET。
真的就是这样。希望这是您要找的。p>
【讨论】: