A blob store that stores images on Imgur.
With npm:
npm install --save imgur-blob-store
var fs = require('fs')
var spawn = require('child_process').spawn
var imgur = require('imgur-blob-store')
var store = imgur({
token: 'abcdef123456'
})
// writing to imgur
fs.createReadStream('/tmp/my-image.png')
.pipe(store.createWriteStream(function (err, img) {
if (err) throw err
// removing images--requires the deletehash
store.remove({ deletehash: img.deletehash }, function () {})
}))
// reading from imgur
var feh = spawn('feh', ['-'])
store.createReadStream('qzq4eCj').pipe(feh.stdin)
// exists
store.exists('pU7nQnP', function (err, exists) {
})
Available options
are:
token
- an imgur API client ID. Get one from https://api.imgur.com/oauth2/addclient
Returns a writable stream.
options
is optional and ignored, imgur will assign a key for you.
cb
is called with (err, metadata)
when the upload failed or completed.
metadata
is the data
object returned by imgur (https://apidocs.imgur.com/#58306db8-0a6f-4aa1-a021-bdad565f153e).
Some useful properties are:
key
- The ID of the image, for use withcreateReadStream
and other methodsdeletehash
- The deletehash of the image, for use withremove()
link
- The publically accessible URL to the imagetype
- Detected mime typewidth
/height
- Image dimensionssize
- Size of the image in bytes, this can be different from the original size because imgur compresses images
Returns a readable stream. options.key
should be an imgur image ID.
Checks if an image exists.
options.key
should be an imgur image ID.
Calls cb
with (err, exists)
.
Deletes an image from imgur.
options.deletehash
should be the image's delete hash.
Calls cb
with (err)
.