Не удается прочитать свойство 'file' из undefined в express при попытке загрузить изображение - PullRequest
0 голосов
/ 01 апреля 2020

Я изучаю Express.

При попытке загрузить изображение с использованием exprees возникла ошибка.

Ошибка: невозможно прочитать свойство 'file' из неопределенного.

Вот мои коды, надеюсь, что кто-нибудь может помочь мне ..

user.service. js

create: (fileRequest, data, callBack) => {
      pool.query(
        `insert into registration(email, password, first_name, last_name, education, university, language, file_gambar) 
                  values(?,?,?,?,?,?,?,?)`,
        [
          data.email,
          data.password,
          data.first_name,
          data.last_name,
          data.education,
          data.university,
          data.language,
          fileRequest.name
        ],
        (error, results, fields) => {
          if (error) {
            callBack(error);
          }
          return callBack(null, results);
        }
      );
    },

user.controller. js

createUser: (req, res) => {
      const data = req.body;
      const salt = genSaltSync(10);
      data.password = hashSync(data.password, salt);

      const fileRequest = req.files.file;

      create(fileRequest, data, (err, results) => {
        if (req.files){
          fileRequest.mv("./file_store" + fileRequest.name, (error) => {
            if (error){
              throw error;
            } else {
              if (err) {
                console.log(err);
                return res.status(500).json({
                  success: 0,
                  message: "Database connection error"
                });
              }
              return res.status(200).json({
                success: 1,
                data: results
              });
            }
          })
        }
      });
    },

app . js

require("dotenv").config();
const express = require("express");
const app = express();
const connection = require('cors');
const upload = require('express-fileupload');
const userRouter = require("./api/users/user.router");
const projectRouter = require("./api/projects/project.router");
const detailRouter = require("./api/details/detail.router");

app.use(express.json());
app.use(connection());
app.use(upload());

app.use("/users", userRouter);
app.use("/projects", projectRouter);
app.use("/details", detailRouter);

app.listen(process.env.APP_PORT, ()=>{
    console.log("Server up and running on PORT: ", process.env.APP_PORT);
});

что не так с моими кодами и что мне делать? спасибо за помощь раньше :)

1 Ответ

0 голосов
/ 01 апреля 2020

Имя ключа должно быть «файл», когда вы загружаете файл / документ / изображение, и убедитесь, что значение соответствует фактическому файлу, который вы загружаете.

...