LoginSignup
1
0

More than 5 years have passed since last update.

Bluemix の Cloudant から、 Node.js の cradle で画像ファイルをダウンロード

Last updated at Posted at 2017-07-26

次のページで行うことと同じことを、Node.js の cradle を使って行いました。

Bluemix の Cloudant から、python3 で画像ファイルをダウンロード

cradle についての情報は、
flatiron/cradle

参考にしたページ
Cloudant NoSQL データベースを cradle でNode.js から使用する

from_cloudant.js
#! /usr/bin/node
// ---------------------------------------------------------------
//  from_cloudant.js
//
//                  Jul/26/2017
// ---------------------------------------------------------------
var cradle = require ('cradle')
var fs = require("fs")

// ---------------------------------------------------------------
console.log ("*** 開始 ***")


const service_username = '44b508dd-f332-4f91-81f2-78369c7d29d9-bluemix'
const service_password = 'efc189dc9dacdfdee596fc371012e08a61e7132d3b21ecaaf1f63a835fae64'
const service_host = 'efc123dc-f332-4f91-81f2-78349c7d19d9-bluemix.cloudant.com'
const service_port = '443'

const options = {
    cache : true,
    raw : false,
    secure : true,
    auth : {
        username : service_username,
        password : service_password
        }
}

var cc = new (cradle.Connection)(service_host, service_port, options)

const name = 'jpg'

var db = cc.database (name)

db.exists(function (err, exists)
    {
    if (err)
        {
        console.log('error', err)
        }
    else if (exists)
        {
        couchdb_fetch_proc (db)
        }
    else
        {
        console.log('database does not exists.')
        }
    })


// ---------------------------------------------------------------
function couchdb_fetch_proc (db)
{
    db.get ('_all_docs',function (err,docs)
        {
        console.log (docs.length)

        for (var it in docs)
            {
            const doc = docs[it]
            const key = doc.key
            console.log(key)
            const file_out = key + '.jpg'

            const id = key
            console.log("id = " + id)
            console.log(file_out)
            var writeStream = fs.createWriteStream(file_out)
            var readStream = db.getAttachment(id,file_out,
                function (err, reply) {
                    if (err) {
                    console.dir(err)
                    return
                    }
                })

            readStream.pipe(writeStream)
            }
        })
}

// ---------------------------------------------------------------
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0