Meteor.js上传生产文件夹

所以,我们在我们的应用程序中构build了一个file upload器,用于处理本地环境。 我们有file upload到公共/上传,我们可以读取文件使用:

http://localhost:3000/upload/filename.extension 

现在,当我们将代码移到生产中时,我们使用一个检查:

 getUploadPath = function () { var fs = Npm.require('fs'); var path = Npm.require('path'); var devPath = path.join(process.cwd(),"../../../../../public"); var prodPath = path.join(process.cwd(),"../client/app/"); if (fs.existsSync(devPath)) { return path.join(devPath,"upload"); } else { return path.join(prodPath,"upload"); } } 

现在,这个文件保存到{prod_path} / programs / client / app / upload。 但是,我不能在应用程序中使用该文件。 令人惊讶的是,所有在本地的文件似乎也出现在同一个上传文件夹中,并且可以被应用程序访问。 我错过了什么?

如果这个应用程序运行在Nginx或者Apache服务器上,你可以设置/上传位置,这样文件将直接在没有Meteor的情况下提供。

在Nginx上我使用这样的东西:

 location /upload/ { root /home/app-name/bundle/programs/web.browser/app; }