nodejs thumbnail 만들기

개요

먼저 multiparty로 req를 받아 파일과 필드값으로 나누어 준 뒤에 노드 썸네일을 통해 변환을 해 준다.

설치

1
npm install node-thumbnail

서버 코드

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
var multiparty = require('multiparty');
var thumb = require('node-thumbnail').thumb;

router.post('/thumbnail',function(req,res){
console.log("썸네일 변경!");
var form = new multiparty.Form();
form.parse(req,function(err,fields, files){
if(err){
console.log(err);
}
Object.keys(fields).forEach(function(name) {
console.log('got field named ' + name);
});
console.log("files:", files);

var fileName=fields.fileName[0];
var oldPath = files.imageFile[0].path;
console.log(fileName);
// 서버에서 돌리는 부분
var newPath = '/root/imageServer/public/images';

thumb({
basename:fileName.split(".")[0],
suffix:'',
source: oldPath,
destination: newPath,
width: 300
}).then(function() {
console.log('Success');
res.sendStatus(200)
}).catch(function(e) {
console.log('Error', e.toString());
res.sendStatus(500);
});

})
})

default options

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
defaults = {
prefix: '',
suffix: '_thumb',
digest: false,
hashingType: 'sha1', // 'sha1', 'md5', 'sha256', 'sha512'
width: 800,
concurrency: <num of cpus>,
quiet: false, // if set to 'true', console.log status messages will be supressed
overwrite: false,
basename: undefined, // basename of the thumbnail. If unset, the name of the source file is used as basename.
ignore: false, // Ignore unsupported files in "dest"
logger: function(message) {
console.log(message);
}
};

Nodejs Google Api를 활용한 push 서버 구축 Angular ngx infinite scroll을 이용한 무한 스크롤 구현

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×