我正在尝试设置下载PDF文件的机制,该机制仅在会员登录时受限(限制访问)
所以我正在寻找两个选择:
1)我已经有了一个PDF,并希望将其添加到公共文件夹中,但不知道如何限制对相同的访问(如果用户登录然后访问)
2)将文件放在服务器上并实际从客户端发出Meteor.Call以获取pdf并将其取回下载。
哪个选项最简单,我应该怎么做。过去一天我一直在抓网,我无法弄清楚如何实现......
答案 0 :(得分:1)
使用GridFS将您的项目作为集合存储在Mongo中(例如,请参阅this answer,它并不比插入任何其他集合真的顺便更难)。然后,您可以通过正确发布来控制对任何其他集合的文件集访问:
Meteor.publish('fileCollection', function(){
if (this.userId) return fileCollection.find();
});
通过检查用户是否拥有ID,我们就知道他们是否是登录用户。针对特定用户交互进一步测试ID,添加可以访问文件的用户ID的数组字段(然后对用户ID位于.publish()中的数组中的集合执行.find())或发布文件通过检查它们是否具有任何非空ID,向上述所有用户发送。