在/ public中为Meteor应用程序创建一个临时文件

时间:2019-08-28 07:46:15

标签: meteor

我需要在/ public文件夹中创建临时文件。 为什么?我需要生成小的静态.html代码段,以避免每次用户刷新页面时都调用数据库。

我编写了以下代码:

Meteor.startup(() => {

if (Meteor.isServer) {

    const fs = require('fs');

    Meteor.methods({

        generateFile() {

            const fileName = 'denis.txt';

            let datapath = process.env.PWD + '/public/files/' + fileName;

            if (Meteor.settings.environment === 'production') { 
                let meteorRoot = fs.realpathSync( process.cwd() + '/../' );
                let publicPath = meteorRoot + '/web.browser/app/files/';
                datapath = publicPath + fileName;
            }

            fs.writeFile(datapath, 'JUST SIMPLE TEXT', 
                function (err) {
                    if (err) {
                        throw err;
                    }
                    console.log('Done!');
                }
            );
        }
    });
}
});

所以我在/ public / files中创建了一个forlder。

在localhost上可以完美运行。我可以访问http://localhost:4000/files/denis.txt

之类的文件

在Galaxy托管上,我看到它可以正常工作,并且我得到“完成!”日志中的响应。

enter image description here

但是当我尝试与www.mysite.com/files/denis.txt之类的文件取得联系时,找不到该文件。

任何想法如何解决?谢谢! :)

0 个答案:

没有答案