无法从浏览器 - Meteor应用程序访问动态添加到公共目录的文件

时间:2017-10-23 13:35:09

标签: javascript node.js meteor

我正在尝试上传公共目录中的文件

  

(web.browser /应用)

并尝试在浏览器上访问该文件。但浏览器不会提供运行时添加的文件。

但是,我在公共目录中添加了一个静态文件,构建了应用程序并进行了部署。可以从浏览器访问静态文件。

经过一些研究后,我遇到了

  web.broswer中的

program.json(在开发服务器中,而不是在本地   服务器)

其路径和网址映射到公共目录中的文件(web.browser / app /)。

我的问题是如何配置以便program.json可以访问公共目录(web.browser / app /)中的所有文件?或者我们是否有其他方法可以访问公共目录中的动态添加文件?我试图不使用任何第三方存储,如S3,也不想运行另一台服务器来提供公共目录中的静态文件(web.browser / app /)

任何线索都会受到赞赏。

2 个答案:

答案 0 :(得分:2)

无法提供动态添加到public文件夹的资源,因为meteor实际上在编译时包含静态资源,并手动添加这些路由。此外,Meteor实际上并不在您的项目文件夹中运行,而是实际在.meteor/local中运行,因此它首先不知道在哪里找到这些文件。

至于解决方案;这个问题有一个previous answer,但我认为这不一定是最好的方法。 Picker有一个很酷的功能,它允许您使用express中间件。您可以轻松地使用Express static middleware来提供静态文件,因此通过组合这两个文件,您应该能够动态地提供目录的内容。

答案 1 :(得分:0)

将上传的文件存储在系统的 tmp 文件夹中并通过 nginx 提供服务将解决此问题。