egg怎么把public里的图片路径保存到mysql
时间: 2023-12-19 07:07:07 浏览: 72
往MySQL中存储图片的方法
5星 · 资源好评率100%
要将public文件夹中的图片路径保存到MySQL数据库,你可以以下面这个步骤操作:
1.创建一个MySQL数据库,并创建一个表来存储图片的路径和其他相关信息。
2.在你的Node.js项目中,使用Express框架处理HTTP请求。
3.使用Multer中间件处理文件上传,将图片保存到public文件夹中,同时将图片的路径保存到MySQL数据库中。
4.在Express路由中,使用MySQL模块连接到MySQL数据库,将图片路径和其他相关信息插入到表中。
下面是一个简单的示例代码,用于将上传的图片路径保存到MySQL数据库中:
```
const express = require('express');
const multer = require('multer');
const mysql = require('mysql');
const app = express();
// 配置Multer中间件,指定文件保存的目录为public文件夹
const upload = multer({ dest: 'public/' });
// 创建MySQL连接
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '123456',
database: 'test'
});
// 在MySQL中创建一个表
const createTable = `
CREATE TABLE IF NOT EXISTS images (
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
path VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)
`;
connection.query(createTable, (error, results, fields) => {
if (error) throw error;
console.log('Table created');
});
// 处理文件上传请求
app.post('/upload', upload.single('image'), (req, res) => {
const imagePath = req.file.path.replace('public\\', '').replace(/\\/g, '/');
const insertSql = `INSERT INTO images (path) VALUES ('${imagePath}')`;
// 将图片路径插入到MySQL数据库中
connection.query(insertSql, (error, results, fields) => {
if (error) throw error;
console.log('Image path saved to database');
res.send('Image uploaded');
});
});
app.listen(3000, () => console.log('Server started on port 3000'));
```
在上面的示例中,我们使用Multer中间件处理文件上传请求,将上传的图片保存到public文件夹中,并将图片路径插入到MySQL数据库中。注意,这里我们使用了双反斜杠来替换文件路径中的反斜杠,因为在Windows系统中,文件路径中的反斜杠是转义字符。
阅读全文