2016-06-08 4 views
1

Я очень новичок в NodeJS и веб-разработке в целом. Я использую multer для загрузки одного файла в своем веб-приложении. Это отлично работает, файл загружается в мою папку «uploads», и я планирую сохранить этот путь в своей базе данных, чтобы получить доступ к этому файлу. Проблема, с которой я сталкиваюсь, показывает ее (это изображение).Загрузка и отображение файлов из локальной папки

Файлы сохраняются следующим образом: enter image description here

Я не уверен, какой путь, чтобы сохранить в моей базе данных. Должна ли быть загрузка/2e3546b428931124164022e5d1d9310e? или мне нужно расширение для него.

JSON объект для файла выглядит следующим образом:

{ fieldname: 'mapImage', 
    originalname: 'office-wallpaper-2.png', 
    encoding: '7bit', 
    mimetype: 'image/png', 
    destination: 'uploads/', 
    filename: '2e3546b428931124164022e5d1d9310e', 
    path: 'uploads/2e3546b428931124164022e5d1d9310e', 
    size: 736807 } 

ответ

0

Вы должны переименовать файл перед загрузкой. Один простой способ сделать это состоит в следующем

var storage = multer.diskStorage({ 
    destination: './public/uploads/', 
    filename: function(req, file, cb) { 
     crypto.pseudoRandomBytes(16, function(err, raw) { 
      if (err) return cb(err); 

      cb(null, raw.toString('hex') + path.extname(file.originalname)); 
     }) 
    } 
}) 

var upload = multer({ 
    storage: storage 
}) 

затем сохранить имя файла в базе данных