0
我在本地機器(mac os x)上創建了一個應用程序,該應用程序生成報告並將其保存到我的web項目文件夾中的文件夾。當我部署應用程序時,該文件夾也應該發佈。當然,沒有人應該訪問這個文件夾,但應用程序。當我運行代碼生成報告在我的本地機器上正常工作時,它似乎掛在彈性beanstalk上。我需要做什麼才能在彈性豆莖環境中進行這項工作?Elastic Beanstalk:如何將文件寫入我的node.js項目文件夾中的文件夾
簡而言之,我使用phantomjs將動態網頁轉換爲PDF文件,並通過電子郵件將其發送給相關方。下面是生成文件的代碼:到您的ElasticBeanstalk應用程序部署應該考慮
page.viewportSize = { width: 2000, height: 800 };
//page.paperSize = { format: 'Letter', orientation: 'landscape', margin: '1cm' };
page.paperSize = { width: '1280px', height: '800px', margin: '0px' };
page.settings.localToRemoteUrlAccessEnabled = true;
page.settings.loadImages = true;
page.settings.javascriptEnabled = true;
page.open("http://example.com/report/" + args[1], function start(status) {
if (status === 'fail'){
phantom.exit(1);
return;
}
//page.render('/dev/stdout', { format: 'pdf' });
page.render(fs.workingDirectory + '/tmp/' + args[3], { format: 'pdf' });
phantom.exit();
return;
});
我在哪裏可以添加此文件夾以使其可寫? – user1790300
我必須將桌面遠程連接到機器才能執行此操作嗎? – user1790300
如果你的EB服務器運行的是linux,那麼默認情況下'/ tmp'應該自動可用並且是全局可寫的。但是,使用像'os.tmpdir()'這樣的Node方法可能更有意義,而不是硬編碼目錄名稱。 – Brian