我正在制作一个流星应用程序,允许用户上传图像。图像上传存储在我本地系统的“/ tmp / images /”目录中。
如何显示上述目录中的图像。 到目前为止,我已经看到只在流星的“公共”目录中显示图像。但是如果我开始在“公共”中添加用户上传的图像,那么每次用户上传图像时,服务器都会刷新。
所以我基本上想要显示来自“/ tmp / images /”的图像。
有什么想法吗?
答案 0 :(得分:2)
我建议您使用gridFS存储图像:
meteor中设计的唯一存储静态资源的地方是public
文件夹。你不应该试着把这些放在其他地方。
如果您想尝试使用gridFS,可以使用file-collection package。设置快速简便。
或者,正如@Marius Darila所建议的那样,你可以use Nginx to serve static content
正如@Michel Floyd所回答,您也可以使用collectionFS,但引用file-collection package作者:
简而言之,这就是差异:collectionFS是一辆法拉利,而且 文件收集是菲亚特。
他们使用相同的东西做大致相同的事情 技术,但反映了不同的设计重点。文件收集 更简单,更不灵活;但如果它符合您的需求 你会发现它的运动部件少得多,而且可能很明显 使用和使用效率更高。
答案 1 :(得分:2)
您还应该查看CollectionFS。这将允许您根据需要使用不同的存储适配器,而无需更改代码。这是一个非常完善和强大的包。
答案 2 :(得分:0)
没有其他方法可以从项目文件夹外的其他目录中获取图像。这就是Meteor建立" public"我们的目录。路径" /"本身表示项目文件夹的开头。好吧,如果您将图像存储在亚马逊s3等位置,那么只需点击标签中的网址即可获取图像。
所以底线是你把你的图像放在公共文件夹中,或者将图像存储在一些外部位置,只需点击图像网址即可获取。
并且不用担心刷新,在生产模式下不会发生这种情况。这只发生在开发模式中。