2017-01-20 25 views
0

我是编程新手,最近完成了部署在AWS EC2上的完整MEAN堆栈项目。如何让fs和multer在AWS EC2上写入文件

项目代码: https://github.com/Cryfoo/13

在部署:http://35.166.172.216/

在服务器端,它使用fs.writeFile每场比赛后,保存游戏日志。

// Codes from server/config/game.js @ lines 1361~1364 
var filename = 10000 + roomNum; 
filename = filename + "_" + endTime; 
fs.writeFile("server/logs/" + filename + ".txt", variables[roomNum].logs, function(err) {}); 

在客户端,它向服务器发送http请求,并使用multer上传用户的配置文件图片。

// Codes from server/controllers/user.js @ lines 3~12 
var storage = multer.diskStorage({ 
    destination: function (req, file, callback) { 
     callback(null, "./client/static/profile"); 
    }, 
    filename: function(req, file, callback) { 
     callback(null, file.originalname); 
    } 
}); 
var upload = multer({storage: storage, limits: {fileSize: 5000000}}).single("profile"); 

它在笔记本电脑本地运行良好,但这两个功能在EC2上不起作用。我假设问题与允许写入文件的权限有关。如何让fs和multer在EC2中写入文件?

我已经做了大量的搜索在这个项目中的所有问题,并找到了解决方案在stackoverflow和谷歌,但对于这个问题,我无法弄清楚。我很抱歉,如果我不够具体(第一次在这里发布一个问题)。尽管感谢提前的帮助。

回答

0

如果它与文件夹的权限的问题,比你只需要改变他们

sudo chmod a+x -R server/logs 

编辑:您可能需要使用sudo

运行命令