在上传文件并创建路径时,我正在创建一个文件夹错误:-
Error: EACCES: permission denied, mkdir '/opt/bitnami/apps/NodeJS-Login/uploads'
at Object.fs.mkdirSync (fs.js:885:18)
at Function.sync (/opt/bitnami/apps/NodeJS-Login/node_modules/mkdirp/index.js:71:13)
at new DiskStorage (/opt/bitnami/apps/NodeJS-Login/node_modules/multer/storage/disk.js:21:12)
at module.exports (/opt/bitnami/apps/NodeJS-Login/node_modules/multer/storage/disk.js:65:10)
at new Multer (/opt/bitnami/apps/NodeJS-Login/node_modules/multer/index.js:15:20)
我正在AWS上使用bitnami托管我的MEAN应用。
在我的主要 server.js 文件中我添加了以下内容:-
app.use(multer({ dest: './uploads/',
rename: function (fieldname, filename) {
return filename;
},
}));
关于模式模型:-
companyLogo: {
data: Buffer,
type: String
}
和控制器中的路线:-
admin.companyLogo = fs.readFileSync(req.files.comLogo.path)
admin.companyLogo.type = 'image/png';
我应该怎么做才能上传图片?我还必须在表单数据中传递其他键值,而不是原始值吗?
答案 0 :(得分:0)
/ opt默认情况下处于写保护状态,因此这里有可能的解决方法
1)更改/ opt的权限,并允许用户在此文件夹中写入(不推荐)
OR
2)以超级用户身份运行server.js,这样您就可以完全访问目录,并且可以执行任何操作(不推荐)
OR
3)只需将路径更改为用户有权写的位置(推荐)