UNPKG

cky-image-public

Version:

public image to public host

68 lines (62 loc) 1.75 kB
const fs = require("fs"); const async = require('async'); const dropboxV2Api = require('dropbox-v2-api'); let helper = require('../helper'); class Dropbox { constructor (options = {}) { let { token } = options; this.dropbox = dropboxV2Api.authenticate({ token }); } upload (imgPath, callback) { let __path = imgPath.split('/'); async.waterfall([ (next) => { this.dropbox({ resource: 'files/upload', parameters: { path: `/${__path[__path.length - 1]}`, mode: "add", autorename: true, mute: false, strict_conflict: false }, readStream: fs.createReadStream(imgPath) }, (err, result) => { //upload completed // console.log('upload: ', JSON.stringify(result)); return next(err, result); }); }, (upload, next) => { this.dropbox({ resource: 'sharing/create_shared_link_with_settings', parameters: { path: upload.id, settings: { requested_visibility: "public", audience: "public", access: "viewer" } } }, (err, result, response) => { // console.log('shared:', JSON.stringify(result)); return next(err, result); }); }, /*(shared, next) => { this.dropbox({ resource: 'sharing/get_file_metadata', parameters: { file: shared.id, } }, (err, result, response) => { // console.log('metadata:', JSON.stringify(result)); return next(err, result); }); }*/ ], callback); } } module.exports = Dropbox;