如何让fs和multer在AWS EC2上写文件

问题描述 投票:0回答:2

我是编程新手,最近完成了一个部署在 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 中写入文件?

我对这个项目期间的所有问题进行了大量搜索,并在 stackoverflow 和 google 上找到了解决方案,但对于这个问题我无法弄清楚。如果我不够具体,我深表歉意(第一次在这里发布问题)。不过,提前感谢您的帮助。

mean-stack fs multer
2个回答
0
投票

如果是文件夹权限问题,那么您只需更改它们

sudo chmod a+x -R server/logs

编辑:您可能需要使用 sudo 运行命令


0
投票

这个问题你解决了吗 请告诉我 我面临着同样的问题。

© www.soinside.com 2019 - 2024. All rights reserved.