如何允许 fs 和 multer 在 AWS EC2 上写入文件
Posted
技术标签:
【中文标题】如何允许 fs 和 multer 在 AWS EC2 上写入文件【英文标题】:How to allow fs and multer to write files on AWS EC2 【发布时间】:2017-06-04 22:58:36 【问题描述】:我是编程新手,最近完成了一个部署在 AWS EC2 上的完整 MEAN 堆栈项目。
项目代码: 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 中写入文件?
我在这个项目期间对所有问题进行了大量搜索,并在***和google上找到了解决方案,但是对于这个问题我无法弄清楚。如果我不够具体,我深表歉意(第一次在这里发布问题)。不过提前感谢您的帮助。
【问题讨论】:
【参考方案1】:如果文件夹的权限有问题,则只需更改它们
sudo chmod a+x -R server/logs
编辑:您可能需要使用 sudo 运行命令
【讨论】:
以上是关于如何允许 fs 和 multer 在 AWS EC2 上写入文件的主要内容,如果未能解决你的问题,请参考以下文章