ํฐ์คํ ๋ฆฌ ๋ทฐ
์ด๋ฏธ์ง url๊ณผ ํ์ผ์์คํ ์ ํตํ ์ด๋ฏธ์ง ๋ค์ด๋ก๋ (Flickr API ์ฌ์ฉ)
๋๋์ด๋ฐ๐พ 2018. 9. 5. 21:33์ด๋ฏธ์ง URL๋ง์ ๊ฐ์ง๊ณ fs๋ชจ๋์ ํตํด ์ด๋ฏธ์งํ์ผ์ ๋ค์ด๋ก๋ํ๋ ์ฝ๋ ํ์์ ๋๋ค.
1 2 3 4 5 6 7 8 9 10 11 12 | var fs = require('fs'); var exec = require('child_process').exec; var request = require('request'); function downloadFunction(path,url,filename,res,callback) { request.head(url,function(err,res,body){ console.log('content-type:',res.headers['content-type']); console.log('content-length:',res.headers['content-length']); request(url).pipe(fs.createWriteStream(path+filename)).on('close',callback); }); } exports.downloadFunction = downloadFunction; | cs |
์ด์๊ฐ์ด ์ฌ์ฉ์ ๋ชจ๋ํํ๋ก ์์ฑํ์ฌ ํธ์ถํ๋ ๊ณณ์์ ์ด๋ฏธ์ง๋ฅผ ๋ฐ๋ก ๋ค์ด๋ฐ์ ์ ์๋ ํํ๋ก ์์ฑํ์์ต๋๋ค.
์ฌ๊ธฐ์ ๋งํ๋ ์ด๋ฏธ์ง URL์ ๋ค์ด๋ก๋๊ฐ ๊ฐ๋ฅํ ๋งํฌํํ์ฌ์ผํฉ๋๋ค. ์ฌ๋ฌ๋ฐฉ๋ฒ์ด ์๊ฒ ์ง๋ง ์ ๋ ํ๋ฆฌ์ปค API๋ฅผ ์ด์ฉํ์์ต๋๋ค.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | var Flickr = require('flickr-sdk'); var flickr = new Flickr('ํ๋ฆฌ์ปค API Key๊ฐ'); var download = require('./download'); var fs = require('fs'); var response = require('response'); function galleryFunction() { var path = './gallery_img/'; flickr.galleries.getPhotos({ gallery_id: '๊ฐค๋ฌ๋ฆฌ์์ด๋ ๊ฐ' }).then(function(res){ res.body.photos.photo.forEach(function(element){ var url ='https://farm'+element.farm+'.staticflickr.com/'+element.server+'/'+element.id+'_'+element.secret+'.jpg' download.downloadFunction(path,url,element.id,response,function(){ console.log('done')}); }); }) } exports.galleryFunction = galleryFunction; | cs |
์ผ๋จ ์ฌ์ฉ์๋ชจ๋์ ์ฌ์ฉํ ์ ์๊ฒ๋ require ์ผ๋ก ์ ์ธ์ ํด์ฃผ๊ณ ๋ค์ด๋ก๋๊ฐ ๊ฐ๋ฅํ ์ด๋ฏธ์ง URL ๋งํฌ๋ฅผ ๋ง๋ญ๋๋ค.
URLํ์์ ์์๊ฐ์ด ๊ฐ๊ฐ ์ฌ์ง์ด ๊ฐ์ง๊ณ ์๋ ์์ฑ ๊ฐ๊ณผ ํ๋ฆฌ์ปค์์ ์ ๊ณตํ๋ ์ด๋ฏธ์ง ๋งํฌ ํ์์ ๋ฐ๋ผ์ ์จ์ฃผ๋ฉด ๋ฉ๋๋ค.
ํ๋ฆฌ์ปค ๊ฐค๋ฌ๋ฆฌ์ ์กด์ฌํ๋ ๋ชจ๋ ์ฌ์ง์ ๋ค์ด๋ก๋ ๋ฐ์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ forEach๋ฌธ์ ํตํด์ ๊ฐ๊ฐ ์ฌ์ง์ ๋ํ URL์ ๋ง๋ค์ด์
downloadFunction์ ๋งค๊ฐ๋ณ์๋ก ๋ฃ์ด์ฃผ๋ฉด ๋.
'Node.js > Node.js ์ค์ต' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
session์ผ๋ก ๋ก๊ทธ์ธ ๊ตฌํํ๊ธฐ (Sequelize DB ํ์ฉ) (0) | 2018.10.23 |
---|---|
sementic url ์ ์ฉํด๋ณด๊ธฐ (0) | 2018.10.10 |
callback ํจ์ ์ดํดํ๊ธฐ (0) | 2018.09.08 |
node js async ๋ชจ๋ ์ฌ์ฉํ๊ธฐ (0) | 2018.07.20 |
node js ๋ฅผ ์ด์ฉํ ์น ์ปดํ์ผ๋ฌ ๋ง๋ค๊ธฐ (7) | 2018.05.17 |
- Total
- Today
- Yesterday
- Promise bulk
- docker mysql
- typeorm
- ๊ธฐ์์ฒญAPI
- @nestjs/config
- backend-framework
- Spring Async
- Request_Limit_Exceeded
- nestjs project
- nestjs/cli
- nestjs typeorm
- Promise error
- nestjs directory
- nestjs module
- foreignkey
- ์๊ณ ๋ฆฌ์ฆ
- DeferredResult
- nestjs config
- ํ๋ก๊ทธ๋๋จธ์ค
- sequelize
- ๋น๋๊ธฐ ์์ฒญ
- JavaScript
- nestjs configService
- android
- typeorm ์ฐ๊ฒฐ
- NestJS
- Spring
- node.js backend
- node.js
- nestjs doc
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |