node.js 파일 업로드, mysql에 경로 넣기
조회수 3216회
안녕하세요.
제가 최근에 node.js 로 파일 업로드 기능을 구현하고 있는데요.
폴더 안에 파일을 업로드 시키는 것까지는 완료했는데, 값을 가져와 다른 곳에서 표현하려고 mysql 테이블 내에 경로를 지정시킨 후에 불러오려고 합니다.
근데, 순 초보자다 보니까.. 어떻게 mysql 내에 접목을 시켜야할지 몰라서요 ㅠ.
app.get('/photo', function(req, res){
//photo.html
res.sendFile(path.join(__dirname, 'views/photo.ejs'));
});
app.post('/upload', function(req, res){
// 오브젝트 폼 생성
var form = new formidable.IncomingForm();
// 단순 요청으로 다중 파일 업로드
form.multiples = true;
// 파일이 저장될 경로
form.uploadDir = path.join(__dirname, '/public/uploads');
// 파일 경로 위치에 파일을 전송
// 파일 이름을 현재 시간에 붙여 재작성
form.on('file', function(field, file) {
fs.rename(file.path, path.join(form.uploadDir, Date.now()+ file.name));
});
// 문제시 에러 발생
form.on('error', function(err) {
console.log('An error has occured: \n' + err);
});
// 파일 업로드 후, 성공 여부를 클라이언트에게 보냄.
form.on('end', function() {
res.end('success');
});
// 데이터 요청(parse)
form.parse(req);
});
});
일단 제 생각에 따라 단순하게 짜봤는데요.
var db = mysql.createConnection({ // 회원가입 db
host : 'localhost',
user : 'wow',
password : '1234', // input mysql password
database : 'userinfo', // input database name
port : 3306 // m
});
...................................................
app.post('/upload', function(req, res){
....
...
..
.
var m_id = req.body.m_id; // 이미지를 올릴 사용자
var m_file = uploadDir; // 파일 업로드 경로
var sql = 'update users set m_file =? where m_id = ?';
db.query(sql, [m_id], function(err, file) {
if (err) console.error("err : " + err);
console.log("file : " + JSON.stringify(file));
});
});
역시나 돌아가지 않더군요 ㅠ. 혹시 방법을 아시는 분들이 계시다면 조언좀 주셨으면 좋겠습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력