Здравствуйте.
Подскажите, по какой причине сервер Node может не грузить файлы?
При запуске сервера на локалке, всё работает нормально, а если этот же код копирую на виртуальный сервер и запускаю там, то не могу загрузить файлы из формы фронта, получаю ошибку 500.
Сервер запускаю так же, без прокси. Т.е. работает он на своём порту, как и при запуске на локалке.
При этом, изображения загруженные по фтп, я получаю с сервера, и все запросы, где нет файлов, работают нормально.
Для загрузки использую multer.
Вот пример кода:
const multer = require('multer');
const moment = require('moment');
const path = require('path');
const storage = multer.diskStorage({
destination(req, file, cb) {
cb(null, 'files/uploads/');
},
filename(req, file, cb) {
const date = moment().format('DDMMYYYY-HHmmss_SSS');
const ext = path.extname(file.originalname);
const name = path.basename(file.originalname, ext);
cb(null, `${date}-${file.originalname.replace(/\s/g, '')}`);
},
});
const fileFilter = (req, file, cb) => {
if (file.mimetype === 'image/png' || file.mimetype === 'image/jpeg') {
cb(null, true);
} else {
cb(null, false);
}
};
const limits = {
fileSize: 1024 * 1024 * 5,
};
module.exports = multer({ storage, fileFilter, limits });
На всякий случай, на локалке запускаю под виндой, а сервер на CentOS + BrainyCP.
Права папки проверил, везде RWX.
Фаервол отключал для проверки.
==========================
Разобрался. На сервере нужно прописать путь до папки файлов относительно src
cb(null, '../files/uploads/');