Meteor.js上传生产文件夹

时间:2013-11-05 00:47:23

标签: node.js meteor

因此,我们在应用程序中构建了一个文件上传器,用于处理本地环境。我们将文件上传到公共/上传,我们可以使用以下方式读取文件:

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。但是,我无法在应用程序中使用该文件。令人惊讶的是,本地的所有文件似乎也存在于同一个上传文件夹中,并且可由应用程序访问。我错过了什么?

1 个答案:

答案 0 :(得分:0)

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

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

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