使用 Meteor.js,我如何提供任意 HTTP 响应,例如。图片或PDF?
示例 1 - 我需要生成 PDF 报告,我无法将其存储在公共/或第三方服务器上。或者,可以响应 HTTP GET 实时生成报告。
示例 2 - 如果我有如下网址:
/images/myimage.png
我想在服务器上检测该请求,从 MongoDB 读取图像,并使用正确的标头提供它,因此它可以与 img 标签一起使用,即。
<img src="/images/myimage.png">
我不想将图像存储在 /public/ 目录中,这样我就可以更好地控制所提供的内容以及如何获得许可。
编辑我还能够获得一个使用 Iron Router 的基本示例。
ImageController = RouteController.extend({
run: function() {
var f = fs.readFileSync("/path/to/image.png");
var res = this.response;
res.writeHead(200, { "content-type": "image/png" });
res.write(f);
res.end();
}
});
Router.map(function() {
Router.route("images", {
path: "/images/image.png",
where: "server",
controller: ImageController // Note - cannot use string here - Iron Router has a dependency on window
});
});