imsave

Imgur image upload

imsave

Imgur image upload for node.js and the browser (via browserify).

To install, use:

npm install imsave

You must then also acquire a ClientID from https://api.imgur.com/oauth2/addclient

var imgur = require('imsave')('ClientID')
 
imgur(fs.readFileSync('image.jpeg'), function (errurl) {
  if (err) throw err
  console.log('URL for image: ' + url)
})
 
//or 
 
imgur(fs.createReadStream('image.jpeg'), function (errurl) {
  if (err) throw err
  console.log('URL for image: ' + url)
})

Using Browserify

<input id="pictureIn" type="file" />
<img id="pictureOut"/>
<button id="submit">Upload</button>
var imgur = require('imsave')('ClientID')
 
var submit = document.getElementById('submit')
var input = document.getElementById('pictureIn')
var output = document.getElementById('pictureOut')
 
submit.addEventListener('click', function () {
  imgur(input.files[0], function (errres) {
    if (err) throw err //handle error here 
    output.src = res
  })
}, false)

If the callback is omitted, a Promises/A+ promise is returned. This is very useful for composing multiple asynchronous operations, especially if they are in parallel.

MIT