leeseohyeon

s3_new 파일 생성

...@@ -3,7 +3,7 @@ var router = express.Router(); ...@@ -3,7 +3,7 @@ var router = express.Router();
3 3
4 var AWS = require('aws-sdk'); 4 var AWS = require('aws-sdk');
5 AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json"); 5 AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json");
6 -var S3 = require('../modules/s3/s3'); 6 +var S3 = require('../modules/s3/s3_new');
7 7
8 8
9 // /file/delete/:name 9 // /file/delete/:name
...@@ -15,30 +15,17 @@ router.get('/:name', function (req, res) { ...@@ -15,30 +15,17 @@ router.get('/:name', function (req, res) {
15 var targetPath = 'trashcan'; 15 var targetPath = 'trashcan';
16 var sourceFile = curPath.substring(1) + file_name; 16 var sourceFile = curPath.substring(1) + file_name;
17 17
18 - var sql1 = 'DELETE FROM files WHERE file_name = (?) AND location=(?) AND user_Id = (?)'; 18 + var sql1 = 'UPDATE files SET location = ? WHERE location = ? AND file_name = ? AND user_id = ?;';
19 - var sql2 = 'INSERT INTO trashcan (trash_name, location, user_Id) VALUES (?, ?, ?)'; 19 + connection.query(sql1, ['/trashcan/', curPath, file_name, user_id], function (err) {
20 -
21 - connection.query(sql1, [file_name, curPath, user_id], function (err) {
22 if (err) { 20 if (err) {
23 - console.log('delete db error'); 21 + console.log('update db error');
24 - res.send({erorr: 'db delete error'}); 22 + res.send({ erorr: 'db update error' });
25 - } 23 + } else {
26 - else { 24 + S3.moveFile4(S3.BUCKET_NAME, user_id, sourceFile, targetPath, function (result) {
27 - //connection.query(sql2, [file_name, '/trashcan'+curPath, user_id], function (err) { 25 + if (result) {
28 - connection.query(sql2, [file_name, '/trashcan/', user_id], function (err) { 26 + res.send("move to trashcan success");
29 - if (err) { 27 + } else {
30 - console.log('insert in trashcan db error'); 28 + res.send({ err: "no such file" })
31 - res.send({error: 'db insert error'});
32 - }
33 - else {
34 - // /drive/user_id/sourceFile --> /drive/user_id/trashcan/sourceFile
35 - S3.moveFile4(S3.BUCKET_NAME, user_id, sourceFile, targetPath, function (result) {
36 - if (result) {
37 - res.send({message: "move to trashcan success"});
38 - }else{
39 - res.send({err: "no such file"})
40 - }
41 - })
42 } 29 }
43 }) 30 })
44 } 31 }
...@@ -46,4 +33,67 @@ router.get('/:name', function (req, res) { ...@@ -46,4 +33,67 @@ router.get('/:name', function (req, res) {
46 }); 33 });
47 34
48 35
36 +// /file/delete/:name
37 +// router.get('/:name', function (req, res) {
38 +// console.log(req.query);
39 +// console.log(req.params);
40 +// var file_name = req.params.name;
41 +// var user_id = req.query.id;
42 +// var curPath = req.query.cur;
43 +
44 +// var targetPath = 'trashcan';
45 +// var sourceFile = curPath.substring(1) + file_name;
46 +
47 +// var sql1 = 'UPDATE files SET location = ? WHERE location = ? AND file_name = ? AND user_id = ?;';
48 +// connection.query(sql1, ['/trashcan/', curPath, file_name, user_id], function (err) {
49 +// if (err) {
50 +// console.log('update db error');
51 +// res.send({ erorr: 'db update error' });
52 +// } else {
53 +// S3.moveFile2(S3.BUCKET_NAME, user_id, sourceFile, file_name, targetPath, function (result) {
54 +// if (result) {
55 +// res.send("move to trashcan success");
56 +// }
57 +// })
58 +// }
59 +// })
60 +// });
61 +
62 +// // /file/delete/:name
63 +// router.get('/:name', function (req, res) {
64 +// var file_name = req.params.name;
65 +// var user_id = req.query.id;
66 +// var curPath = req.query.cur;
67 +
68 +// var targetPath = 'trashcan';
69 +// var sourceFile = curPath.substring(1) + file_name;
70 +
71 +// var sql1 = 'DELETE FROM files WHERE file_name = (?) AND location=(?) AND user_Id = (?)';
72 +// var sql2 = 'INSERT INTO trashcan (trash_name, location, user_Id) VALUES (?, ?, ?)';
73 +
74 +// connection.query(sql1, [file_name, curPath, user_id], function (err) {
75 +// if (err) {
76 +// console.log('delete db error');
77 +// res.send({erorr: 'db delete error'});
78 +// }
79 +// else {
80 +// connection.query(sql2, [file_name, '/trashcan'+curPath, user_id], function (err) {
81 +// if (err) {
82 +// console.log('insert in trashcan db error');
83 +// res.send({error: 'db insert error'});
84 +// }
85 +// else {
86 +// // /drive/user_id/sourceFile --> /drive/user_id/trashcan/sourceFile
87 +// S3.moveFile2(S3.BUCKET_NAME, user_id, sourceFile, targetPath, function (result) {
88 +// if (result) {
89 +// res.send("move to trashcan success");
90 +// }
91 +// })
92 +// }
93 +// })
94 +// }
95 +// })
96 +// });
97 +
98 +
49 module.exports = router; 99 module.exports = router;
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -6,7 +6,7 @@ var moment = require('moment'); ...@@ -6,7 +6,7 @@ var moment = require('moment');
6 6
7 var AWS = require('aws-sdk'); 7 var AWS = require('aws-sdk');
8 AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json"); 8 AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json");
9 -var S3 = require('../modules/s3/s3'); 9 +var S3 = require('../modules/s3/s3_new');
10 10
11 11
12 12
......
...@@ -3,7 +3,7 @@ var router = express.Router(); ...@@ -3,7 +3,7 @@ var router = express.Router();
3 3
4 var AWS = require('aws-sdk'); 4 var AWS = require('aws-sdk');
5 AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json"); 5 AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json");
6 -var S3 = require('../modules/s3/s3'); 6 +var S3 = require('../modules/s3/s3_new');
7 7
8 var fs = require('fs'); 8 var fs = require('fs');
9 9
......
...@@ -3,7 +3,7 @@ var router = express.Router(); ...@@ -3,7 +3,7 @@ var router = express.Router();
3 3
4 var AWS = require('aws-sdk'); 4 var AWS = require('aws-sdk');
5 AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json"); 5 AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json");
6 -var S3 = require('../modules/s3/s3'); 6 +var S3 = require('../modules/s3/s3_new');
7 7
8 var fs = require('fs'); 8 var fs = require('fs');
9 var moment = require('moment'); 9 var moment = require('moment');
......
...@@ -6,7 +6,7 @@ var moment = require('moment'); ...@@ -6,7 +6,7 @@ var moment = require('moment');
6 6
7 var AWS = require('aws-sdk'); 7 var AWS = require('aws-sdk');
8 AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json"); 8 AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json");
9 -var S3 = require('../modules/s3/s3'); 9 +var S3 = require('../modules/s3/s3_new');
10 10
11 11
12 12
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
16 var AWS = require('aws-sdk'); 16 var AWS = require('aws-sdk');
17 AWS.config.update({ region: 'ap-northeast-2' }); 17 AWS.config.update({ region: 'ap-northeast-2' });
18 18
19 -var BUCKET_NAME = 'khuloud'; 19 +var BUCKET_NAME = 'qkrrlqja-test';
20 20
21 var s3 = new AWS.S3(); 21 var s3 = new AWS.S3();
22 var fs = require('fs'); 22 var fs = require('fs');
...@@ -73,7 +73,7 @@ var S3 = { ...@@ -73,7 +73,7 @@ var S3 = {
73 }, 73 },
74 74
75 // 파일 덮어쓰기 75 // 파일 덮어쓰기
76 - coverFile: function(bucketName, userId, sourceFile, targetPath, body, callback) { 76 + coverFile: function (bucketName, userId, sourceFile, targetPath, body, callback) {
77 var pathbody = fs.createReadStream(body); 77 var pathbody = fs.createReadStream(body);
78 78
79 if (targetPath != '' && targetPath[targetPath.length - 1] != '/') { 79 if (targetPath != '' && targetPath[targetPath.length - 1] != '/') {
...@@ -136,17 +136,17 @@ var S3 = { ...@@ -136,17 +136,17 @@ var S3 = {
136 }, 136 },
137 137
138 // /routes/modules/s3/download에 저장 138 // /routes/modules/s3/download에 저장
139 - downloadFile2: function(bucketName, userId, targetFile, callback){ 139 + downloadFile2: function (bucketName, userId, targetFile, callback) {
140 tempDownloadDir = __dirname + '/download/' + userId + '/' + targetFile; 140 tempDownloadDir = __dirname + '/download/' + userId + '/' + targetFile;
141 - S3.downloadFile(bucketName, userId, targetFile, function(result, data){ 141 + S3.downloadFile(bucketName, userId, targetFile, function (result, data) {
142 if (result) { 142 if (result) {
143 - makeFolder(tempDownloadDir, function(result){ 143 + makeFolder(tempDownloadDir, function (result) {
144 if (result) { 144 if (result) {
145 fs.writeFileSync(tempDownloadDir, data); 145 fs.writeFileSync(tempDownloadDir, data);
146 callback(true, tempDownloadDir); 146 callback(true, tempDownloadDir);
147 } 147 }
148 }) 148 })
149 - }else{ 149 + } else {
150 console.log('Download File Error'); 150 console.log('Download File Error');
151 callback(false); 151 callback(false);
152 } 152 }
...@@ -154,12 +154,12 @@ var S3 = { ...@@ -154,12 +154,12 @@ var S3 = {
154 }, 154 },
155 155
156 // 최종 156 // 최종
157 - downloadFile3: function(bucketName, userId, targetFile, callback){ 157 + downloadFile3: function (bucketName, userId, targetFile, callback) {
158 // targetFile 예1 => test.txt 158 // targetFile 예1 => test.txt
159 // targetFile 예2 => folder1/folder2/test.txt 159 // targetFile 예2 => folder1/folder2/test.txt
160 var tempDownloadDir = __dirname + '/download/' + userId + '/' + targetFile; 160 var tempDownloadDir = __dirname + '/download/' + userId + '/' + targetFile;
161 - makeFolder(tempDownloadDir, function(result){ 161 + makeFolder(tempDownloadDir, function (result) {
162 - if (result){ 162 + if (result) {
163 var file = fs.createWriteStream(tempDownloadDir); 163 var file = fs.createWriteStream(tempDownloadDir);
164 var params = { 164 var params = {
165 Bucket: bucketName, 165 Bucket: bucketName,
...@@ -167,15 +167,15 @@ var S3 = { ...@@ -167,15 +167,15 @@ var S3 = {
167 }; 167 };
168 try { 168 try {
169 var stream = s3.getObject(params).createReadStream().pipe(file); 169 var stream = s3.getObject(params).createReadStream().pipe(file);
170 - stream.on('end', function(){ 170 + stream.on('end', function () {
171 console.log('end!'); 171 console.log('end!');
172 callback(true, tempDownloadDir); 172 callback(true, tempDownloadDir);
173 }); 173 });
174 - }catch(err){ 174 + } catch (err) {
175 console.log('no such file', err); 175 console.log('no such file', err);
176 callback(false); 176 callback(false);
177 } 177 }
178 - }else{ 178 + } else {
179 callback(false); 179 callback(false);
180 } 180 }
181 }) 181 })
...@@ -230,9 +230,9 @@ var S3 = { ...@@ -230,9 +230,9 @@ var S3 = {
230 if (fullpath.substring(index) == targetFile) { 230 if (fullpath.substring(index) == targetFile) {
231 answer = true; 231 answer = true;
232 var splited = targetFile.split('(').join(',').split(')').join(',').split(','); 232 var splited = targetFile.split('(').join(',').split(')').join(',').split(',');
233 - if (splited.length != 3){ 233 + if (splited.length != 3) {
234 lvNum = 0; 234 lvNum = 0;
235 - }else{ 235 + } else {
236 lvNum = parseInt(splited[1]); 236 lvNum = parseInt(splited[1]);
237 console.log('isNum', lvNum); 237 console.log('isNum', lvNum);
238 } 238 }
...@@ -305,17 +305,17 @@ var S3 = { ...@@ -305,17 +305,17 @@ var S3 = {
305 305
306 // 파일 이름이 달라지는 경우 306 // 파일 이름이 달라지는 경우
307 moveFile3: function (bucketName, userId, oldFile, newFile, targetPath, callback) { 307 moveFile3: function (bucketName, userId, oldFile, newFile, targetPath, callback) {
308 - if (targetPath != ''){ 308 + if (targetPath != '') {
309 targetPath = targetPath + '/'; 309 targetPath = targetPath + '/';
310 } 310 }
311 sourceFile = targetPath + oldFile; // test.txt or folder1/test.txt 311 sourceFile = targetPath + oldFile; // test.txt or folder1/test.txt
312 var targetFile = targetPath + newFile; 312 var targetFile = targetPath + newFile;
313 313
314 - S3.copyFile2(bucketName, userId, sourceFile, targetFile, function(result){ 314 + S3.copyFile2(bucketName, userId, sourceFile, targetFile, function (result) {
315 - if (!result){ 315 + if (!result) {
316 console.log("Move Error on Copying File3"); 316 console.log("Move Error on Copying File3");
317 callback(false); 317 callback(false);
318 - }else{ 318 + } else {
319 S3.deleteFile(bucketName, userId, sourceFile, function (res) { 319 S3.deleteFile(bucketName, userId, sourceFile, function (res) {
320 if (!res) { 320 if (!res) {
321 console.log("Move Error on Deleting File"); 321 console.log("Move Error on Deleting File");
...@@ -329,14 +329,14 @@ var S3 = { ...@@ -329,14 +329,14 @@ var S3 = {
329 }) 329 })
330 }, 330 },
331 331
332 - renameFile: function(bucketName, userId, sourceFile, modiFile, targetPath, callback){ 332 + renameFile: function (bucketName, userId, sourceFile, modiFile, targetPath, callback) {
333 // sourceFile = test.txt 333 // sourceFile = test.txt
334 // modiFile = test2.txt 334 // modiFile = test2.txt
335 // targetPath = '' or 'folder1/folder2' 335 // targetPath = '' or 'folder1/folder2'
336 336
337 - if (sourceFile == modiFile){ // 이름 변경되지 않은 경우 337 + if (sourceFile == modiFile) { // 이름 변경되지 않은 경우
338 callback(true, sourceFile); 338 callback(true, sourceFile);
339 - }else{ 339 + } else {
340 if (targetPath != '') { 340 if (targetPath != '') {
341 targetPath = targetpath + '/'; 341 targetPath = targetpath + '/';
342 } 342 }
...@@ -375,7 +375,7 @@ var S3 = { ...@@ -375,7 +375,7 @@ var S3 = {
375 uploadFile: function (bucketName, userId, sourceFile, targetPath, body, callback) { 375 uploadFile: function (bucketName, userId, sourceFile, targetPath, body, callback) {
376 var pathbody = fs.createReadStream(body); 376 var pathbody = fs.createReadStream(body);
377 377
378 - if (targetPath!='' && targetPath[targetPath.length-1]!='/') { 378 + if (targetPath != '' && targetPath[targetPath.length - 1] != '/') {
379 targetPath = targetPath + '/'; 379 targetPath = targetPath + '/';
380 } 380 }
381 var targetFile = targetPath + sourceFile; 381 var targetFile = targetPath + sourceFile;
...@@ -393,11 +393,11 @@ var S3 = { ...@@ -393,11 +393,11 @@ var S3 = {
393 } else { 393 } else {
394 if (ans) { 394 if (ans) {
395 console.log("File Duplication"); 395 console.log("File Duplication");
396 - S3.makeVersion(bucketName, userId, sourceFile, lvNum+1, function(res, versionedSourceFile){ 396 + S3.makeVersion(bucketName, userId, sourceFile, lvNum + 1, function (res, versionedSourceFile) {
397 - if (!res){ 397 + if (!res) {
398 console.log("Make version failed"); 398 console.log("Make version failed");
399 callback(false, sourceFile); 399 callback(false, sourceFile);
400 - }else{ 400 + } else {
401 S3.uploadFile(bucketName, userId, versionedSourceFile, targetPath, body, callback); 401 S3.uploadFile(bucketName, userId, versionedSourceFile, targetPath, body, callback);
402 } 402 }
403 }) 403 })
...@@ -423,7 +423,7 @@ var S3 = { ...@@ -423,7 +423,7 @@ var S3 = {
423 if (!res) { 423 if (!res) {
424 errFiles.push(sourceFiles[iter]); 424 errFiles.push(sourceFiles[iter]);
425 } 425 }
426 - if (sourceFiles[iter] != resSourceFile){ // 파일 중복으로 다른 버전이 생긴 경우 426 + if (sourceFiles[iter] != resSourceFile) { // 파일 중복으로 다른 버전이 생긴 경우
427 sourceFiles[iter] = resSourceFile; 427 sourceFiles[iter] = resSourceFile;
428 } 428 }
429 S3.uploadFiles(iter + 1, errFiles, bucketName, userId, sourceFiles, targetPath, bodies, callback); 429 S3.uploadFiles(iter + 1, errFiles, bucketName, userId, sourceFiles, targetPath, bodies, callback);
...@@ -440,21 +440,21 @@ var S3 = { ...@@ -440,21 +440,21 @@ var S3 = {
440 }, 440 },
441 } 441 }
442 442
443 -var makeFolder = function(dir, callback){ 443 +var makeFolder = function (dir, callback) {
444 - var paths = dir.substring(__dirname.length+1); // download/userId/folder1/folder2/test.txt 444 + var paths = dir.substring(__dirname.length + 1); // download/userId/folder1/folder2/test.txt
445 paths = paths.split('/'); 445 paths = paths.split('/');
446 446
447 var folders = __dirname; 447 var folders = __dirname;
448 - for(var i=0; i<paths.length-1; i++){ 448 + for (var i = 0; i < paths.length - 1; i++) {
449 - folders += '/'+paths[i]; 449 + folders += '/' + paths[i];
450 - if(!fs.existsSync(folders)){ 450 + if (!fs.existsSync(folders)) {
451 fs.mkdirSync(folders) 451 fs.mkdirSync(folders)
452 } 452 }
453 } 453 }
454 454
455 - if (fs.existsSync(folders)){ 455 + if (fs.existsSync(folders)) {
456 callback(true); 456 callback(true);
457 - }else{ 457 + } else {
458 callback(false); 458 callback(false);
459 } 459 }
460 } 460 }
......
This diff is collapsed. Click to expand it.