从流星的外部位置获取图像

我正在构建一个流星应用程序,允许用户上传图像。 图片上传存储在我本地系统的“/ tmp / images /”目录中。

我如何显示上述目录中的图像。 到目前为止,我已经看到仅在流星的“公共”目录中显示图像。 但是,如果我开始添加用户在“公共”中上传的图像,则每次用户上传图像时,服务器都会刷新。

所以我基本上想要显示来自“/ tmp / images /”的图像。

任何想法?


没有其他方式从项目文件夹外的其他目录获取图像。 这就是Meteor为我们建立“公共”目录的原因。 路径“/”本身表示项目文件夹的开始。 那么如果你在像amazon s3这样的地方存储图像,那么只需点击标签中的url即可获取图像。

所以底线是要么你把图像放在公共文件夹中,要么将图像存储在某个外部位置,只需点击图像url即可获取图像。

不要担心刷新,在生产模式下不会发生这种情况。 这只发生在开发模式。


你也应该看看CollectionFS。 这将允许您根据需求的变化使用不同的存储适配器,而无需更改代码。 这是一个非常完善和强大的软件包。


我建议你使用gridFS存储你的图像:

  • 您将能够存储大于16Mb的文件。
  • 这些文件不会“触摸”你的服务器,它们会直接传送到你的数据库中。
  • 你可以像集合一样处理它们,所以你可以在你认为合适的时候允许/拒绝访问它。
  • 设计流星存储静态资源的唯一地方是public文件夹。 你不应该试图把这些放在别处。

    如果你想尝试一下gridFS,你可以使用文件收集包。 安装快速简单。

    或者,如@Marius Darila所建议的那样,您可以使用Nginx来提供静态内容

    正如@Michel Floyd所回答的那样,您也可以使用collectionFS,但引用file-collection包作者:

    简而言之,区别在于:collectionFS是法拉利,文件收集是菲亚特。

    他们使用某些相同的技术来做大致相同的事情,但反映了不同的设计优先级。 文件收集非常简单,灵活性稍差; 但如果它满足您的需求,您会发现它的移动部件少得多,并且可能会更有效率地使用和使用。

    链接地址: http://www.djcxy.com/p/73413.html

    上一篇: fetching image from external location in meteor

    下一篇: Can't view new files in meteors public directory