Неправильно отформатированный адрес файла Multer для папки загрузки в базе данных MySQL - PullRequest
0 голосов
/ 11 января 2019

Я использовал модули Multer Node.js для загрузки изображения в папку загрузки, и изображение загружено нормально, и правильный путь был передан в базу данных MySQL, но путь к файлу файла (изображения) отформатирован не так, как я ожидал ,

Я имею в виду, что между главной папкой, подпапкой и фактическим именем файла (изображения) нет косой черты (/), хотя расширение указано правильно.

const storage = multer.diskStorage({
    destination: "./public/upload/",
    filename: function (req, file, cb) {
        cb(null, file.fieldname + '-' + Date.now() +
            file.originalname)
    }
})

const upload = multer({
    storage: storage
})

но это такие данные, полученные из базы данных, когда я делаю запрос

[
    {
        "id": 3,
        "name": "samsung galax s8",
        "brand": "samsung",
        "image": "publicuploadfile-1547151173379tecno-spak-2.jpg",
        "category": "phone",
        "qty": "6",
        "price": "50000",
        "created_at": "1/10/2019",
        "updated_at": "1/10/2019"
    }
]

Это файл image.path, который я получил "publicuploadfile-1547151173379tecno-spak-2.jpg" ,

Вместо чего-то вроде "public / upload / file-1547151173379tecno-spak-2.jpg" , чего я ожидал.

Пожалуйста, как мне сохранить путь к базе данных как правильный адрес файла?

1 Ответ

0 голосов
/ 11 января 2019

Обновите это.

var storage = multer.diskStorage({
  destination: function(req, file, callback) {
    callback(null, './uploads')
  },
  filename: function(req, file, callback) {
    console.log(file)
    callback(null, file.fieldname + '-' + Date.now() + path.extname(file.originalname))
  }
})
...