const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, './src/static/uploads/blog');
},
filename: function (req, file, cb) {
cb(null, file.originalname);
}
})
Как быть в случае, если путь до файла должен быть динамическим, например, по дням недели?
// роутер Express-а ./routes/files
var fs = require('fs');
var express = require('express');
var router = express.Router();
// получаем файлы
var multer = require('multer');
var upload = multer({
dest:'./folder_for_upload_files/'
// прочие опции
}).single("upload");
router.post('/files/upload', function(req, res, next) {
upload(req, res, function (err) {
if (err){
// обработка ошибки
// и завершение обработки запроса res.end() или res.send(...)
return;
}
// если же загрузка произошла успешно, то
// 1. определяем в какую папку и под каким именем переместить файл
// 2. перемещаем файл в нужную папку
// 3. делаем об этом запись в БД или в файлики или кудато еще (в место предназначенное для хранения этой информации)
// 4. завершаем обработки запроса ( res.end() или res.send(...) )
// в помощь:
// req.file.originalname - оригинальное имя файла на компе клиента
// req.file.filename - имя загруженного в "./folder_for_upload_files/" файла
});
});
module.exports = router;