Repository navigation
Expand file tree
/
Copy pathchangeAvatar.js
More file actions
60 lines (54 loc) · 2.35 KB
/
Copy pathchangeAvatar.js
File metadata and controls
60 lines (54 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
const mysql = require('mysql2');
const path = require('path');
const multer = require('multer');
// Cấu hình thư mục upload
const storage = multer.diskStorage({
destination: (req, file, cb) => {
cb(null, path.join(__dirname, 'public/user')); // Sử dụng thư mục /public/user
},
filename: (req, file, cb) => {
cb(null, path.basename(file.originalname));
}
});
const upload = multer({ storage: storage });
const conn = require('./connectDB'); // Đảm bảo bạn đã kết nối với cơ sở dữ liệu
const changeAvatar = (req, res) => {
const userID = req.body.userID;
let sql;
// Kiểm tra nếu người dùng chọn ảnh mặc định
if (req.body.defaultImage) {
const defaultImage = path.basename(req.body.defaultImage);
sql = `UPDATE user SET image = ? WHERE userID = ?`;
conn.query(sql, [defaultImage, userID], (err) => {
if (err) {
console.error('Lỗi:', err.message);
return res.status(500).send('Có lỗi xảy ra.');
}
// Cập nhật ảnh trong session
req.session.userLogin.image = defaultImage;
req.session.success_message = "Update Image Successfully";
const website = 'Avatar.ejs';
res.render('Avatar', { userLogin: req.session.userLogin, success_message: req.session.success_message, website });
});
}
// Kiểm tra xem có ảnh mới nào được tải lên không
else if (req.file) {
const imagePath = req.file.filename;
sql = `UPDATE user SET image = ? WHERE userID = ?`;
conn.query(sql, [imagePath, userID], (err) => {
if (err) {
console.error('Lỗi:', err.message);
return res.status(500).send('Có lỗi xảy ra.');
}
// Cập nhật ảnh trong session
req.session.userLogin.image = imagePath;
console.log(req.session.userLogin.image)
req.session.success_message = "Update Image Successfully";
const website = 'Avatar.ejs';
res.render('Avatar', { userLogin: req.session.userLogin, success_message: req.session.success_message, website });
});
} else {
res.status(400).send("Không có ảnh được chọn.");
}
};
module.exports = { upload, changeAvatar };