Elastic Beanstalk:如何将文件写入node.js项目文件夹中的文件夹

时间:2017-03-19 21:20:32

标签: node.js amazon-web-services elastic-beanstalk

我在本地计算机(mac os x)上创建了一个应用程序,它生成一个报告并将其保存到我的web项目文件夹中的文件夹中。当我部署应用程序时,该文件夹也应该发布。当然,没有人应该访问这个文件夹,但应用程序。当我运行代码生成报告在我的本地机器上工作正常,但它似乎挂在弹性beanstalk上。我需要做些什么才能在弹性beanstalk环境中工作?

简而言之,我使用phantomjs将动态网页转换为pdf文件,该文件通过电子邮件发送给相关各方。以下是生成文件的代码:

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;
});

1 个答案:

答案 0 :(得分:1)

部署完成后,应将ElasticBeanstalk应用程序部署到的目录视为只读。如果需要在运行时编写文件,则应使用可写目录,例如/tmp