dmc1989
@dmc1989

Как в npm Multer получить имя записаного им же файла?

При сохранении изображения модуль добавляет свой уникальный код.

var multer = require('multer'),
    storage = multer.diskStorage({
        destination: function(req, file, callback) {
            callback(null, __dirname + '/public/tmp/upload_avatars');
        },
        filename: function(req, file, callback) {
            callback(null, file.originalname);
        }
    }),
    upload = multer({ storage: storage });

Когда получаю запрос, файл сохраняется в папке уже с уникальным ID.
app.post('/upload-image', upload.any(), function(req, res) {
...


Как получить это уникальное имя, чтобы записать в базу? Заранее спасибо)
  • Вопрос задан
  • 932 просмотра
Решения вопроса 1
ItsEvilTime
@ItsEvilTime
Сайленсер не дает мне покоя
var multer = require('multer'),
    storage = multer.diskStorage({
        destination: function(req, file, callback) {
            callback(null, __dirname + '/public/tmp/upload_avatars');
        },
        filename: function(req, file, callback) {
            var filename = file.fieldname + '-' + Date.now() + '-' + file.originalname;
            cb(null, filename);
        }
    }),
    upload = multer({ storage: storage });


Далее где нужно имя
req.files[0].filename

Вместо [0] - нужный файл или цикл.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
werty1001
@werty1001
undefined
Вроде как в req.files должен быть массив файлов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы