mysql 保存没有斜杠的图片路径nodejs

mysql save image path without slashes nodejs

大家好我正在尝试将图像路径保存在 mysql 数据库中,但数据库保存的路径没有像这样的斜杠

image: 'publicimagesIMG-1610544689539.jpg'

我从结果中复制了它,但查询没有任何问题!

INSERT INTO product (category,name,image,unit,price,stok,produce,end) VALUES ("Pastry" , "test" , "public\images\IMG-1610544689539.jpg" , "Kilo" , "80" , "100" , "2021-01-06","2021-01-15")

我的代码只保存值而不编辑其中的任何内容

newProduct.post('/new' , upload.single('image') , async (req , res)=>{
  if(!req.file){
  res.redirect('/web')
  }
  const db = await newDB.connection()
  let query = `INSERT INTO product (category,name,image,unit,price,stok,produce,end) VALUES ("${req.body.category}" , "${req.body.name}" , "${req.file.path}" , "${req.body.unit}" , "${req.body.price}" , "${req.body.stok}" , "${req.body.produce}" , "${req.body.end}")`
  db.query(query)
  res.redirect('/web');
            
})

连接代码..

const pool = mysql.createPool(dbConfig);


const connection = () => {


  return new Promise((resolve, reject) => {

  pool.getConnection((err, connection) => {

    if (err) reject(err);
    console.log("MySQL pool connected: threadId " + connection.threadId);

    const query = (sql, binding) => {

      return new Promise((resolve, reject) => {

         connection.query(sql, binding, (err, result) => {

           if (err) reject(err);

           resolve(result);
           });
         });
       };

       const release = () => {

         return new Promise((resolve, reject) => {

           if (err) reject(err);
           console.log("MySQL pool released: threadId " + connection.threadId);
           resolve(connection.release());
         });

       };
       resolve({ query, release });
     });
   });
 };
const query = (sql, binding) => {

  return new Promise((resolve, reject) => {
    pool.query(sql, binding, (err, result, fields) => {
      if (err) reject(err);
      resolve(result);
    });
  });
};


module.exports = { pool, connection, query };

谢谢

您可以尝试使用双斜杠“\”,而不是使用单斜杠“”。 这可以通过在保存路径之前执行以下操作来实现:

  let path = req.file.path
  path = path.replace("\", "\")
    const db = await newDB.connection()
  let query = `INSERT INTO product (category,name,image,unit,price,stok,produce,end) VALUES ("${req.body.category}" , "${req.body.name}" , "${path}" , "${req.body.unit}" , "${req.body.price}" , "${req.body.stok}" , "${req.body.produce}" , "${req.body.end}")`