-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfunc.js
More file actions
39 lines (32 loc) · 1.09 KB
/
func.js
File metadata and controls
39 lines (32 loc) · 1.09 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
var multer = require('multer');
var Q = require('q');
var upload = (req, res, path) => {
var deferred = Q.defer();
var storage = multer.diskStorage({
// 서버에 저장할 폴더
destination: (req, file, cb) => {
cb(null, path);
},
// 서버에 저장할 파일 명
filename: (req, file, cb) => {
var fileArr = file.originalname.split('.');
file.uploadedFile = {
name: fileArr[0], //file name
ext: fileArr[1] //file type
};
cb(null, file.uploadedFile.name + '.' + file.uploadedFile.ext);
}
});
var upload = multer({ storage: storage }).single('file');
upload(req, res, (err) => {
if(err) deferred.reject();
else if(req.file === undefined){
// if user not sened file u must controll here
}else deferred.resolve(req.file.uploadedFile);
});
return deferred.promise;
};
global.upload = upload;
global.check_param = (req_param, params) =>{
return params.every(str => req_param[str] != undefined && req_param[str] != null && req_param[str].length > 0);
}