Почему мультитер не загружает мое изображение с опцией хранения? - PullRequest
0 голосов
/ 01 октября 2019

Multer может загрузить мой файл, но только если я использую опцию dest. Когда я использую diskStorage, он не работает. Я уверен, что я делаю это неправильно, поэтому не стесняйтесь поправлять меня. Вот мой код ...

    const storage = multer.diskStorage({
  destination: (req, file, cb) => {
    cb(null, "/uploads");
  },
  filename: (req, file, cb) => {
    cb(null, Date.now() + "-" + file.originalname);
  }
})

const upload = multer({ storage: storage });


router.post('/signup', upload.single("avatar"), (req, res, next) => {

  console.log(req.file);

  const { heroname, pass, pass2 } = req.body;

  const salt = bcrypt.genSaltSync(12);
  const hashedPassWord = bcrypt.hashSync(pass, salt);

  User.create({
    name: heroname,
    password: hashedPassWord
  })
    .then(() => {
      console.log('Task complete!');
      res.redirect('/')
    })
    .catch((err) => {
      next(err);
    })

});

А вот соответствующий HTML ...

      <div class="form-item">
    <label for="avatar">Choose your Avatar:</label>
    <input id="avatar" name="avatar" type="file" accept="image/*">
  </div>

Когда я регистрирую файл req.file на консоли, он показывает правильную информацию,Когда я заглядываю в папку загрузки, ничего не загружается.

1 Ответ

0 голосов
/ 01 октября 2019

Оказывается, мне нужен ./ для пути к файлу папки для загрузки, а не /.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...