I use sqlite and sequelize for my db. I syncronized my local server and db but my localserver has two 'backslash' in the imageurl (in db I write down uploads\basketball3.jpg but in local server it wrote uploads \\ basketball3.jpg) except imageurl, everything is going well. I think I have to handle post related code. but I couldn't find anything wrong inside the code. Can you help me to find wrong parts?
here is my code and I don't know where to fix it.
const cors = require("cors");
const app = express();
const models = require("./models");
const multer = require("multer");
const upload = multer({
storage: multer.diskStorage({
destination: function (req, file, cb) {
cb(null, "uploads/");
},
filename: function (req, file, cb) {
cb(null, file.originalname);
},
}),
});
const port = process.env.PORT || 8008;
app.use(express.json());
app.use(cors());
app.use("/uploads", express.static("uploads"));
a
app.post("/products", (req, res) => {
const body = req.body;
const { name, description, price, seller, imageUrl } = body;
if (!name || !description || !price || !seller || !imageUrl) {
res.status(400).send("모든 필드를 작성해주세요");
}
models.Product.create({
name,
description,
price,
seller,
imageUrl,
})
.then((result) => {
console.log("상품 생성 결과 :", result);
res.send({
result,
//result : result 줄인것
});
})
.catch((error) => {
console.error(error);
res.status(400).send("상품업로드에 문제가 발생했습니다");
});
});
app.post("/image", upload.single("image"), (req, res) => {
const file = req.file;
console.log(file);
res.send({
imageUrl: file.path,
});
});
app.listen(port, () => {
console.log("그랩의 쇼핑몰 서버가 돌아가고 있습니다.");
models.sequelize
.sync()
.then(() => {
console.log("DB 연결 성공!");
})
.catch((err) => {
console.error(err);
console.log("DB 연결 에러ㅠ");
process.exit();
});
});