imgbox-js-browser
TypeScript icon, indicating that this package has built-in type declarations

1.2.0 • Public • Published

imgbox-js-browser 🗳️

A fork from the original imgbox-js project.

Lightweight IMGBOX API. Unlimited free hosting for images ON THE BROWSER! 🗳️ .

Installation

npm install imgbox-js-browser

Import

import { imgbox } from 'imgbox-js-browser'
// or
const imgbox = require('imgbox-js-browser')

Usage

  • Pattern
imgbox(images, options)
    .then(res => console.log(res))

// images is mandatory
// options is optional
  • Singe URL/Path
imgbox('https://picsum.photos/200/300')
    .then(res => console.log(res));
  • Multiple URL/Path
const images = [
    'https://picsum.photos/200/300',
    'https://picsum.photos/200/300',
    'https://picsum.photos/200/300'
]

imgbox(images)
    .then(res => console.log(res));
  • Singe URL/Path + Filename
const image1 = { source: 'https://picsum.photos/200/300', filename: 'Photo from URL' }
imgbox(image1)
    .then(res => console.log(res));
  • Multiple URL/Path + Filename
const image1 = { source: 'https://picsum.photos/200/300', filename: 'Lorem Photos from URL' }
const image2 = { source: 'https://picsum.photos/200/300', filename: 'Lorem Photos from URL' }

imgbox([ image1, image2 ])
    .then(res => console.log(res));

  • Images + Options
const images = [
    'https://picsum.photos/200/300',
    'https://picsum.photos/200/300'
]

const options = {
    auth_cookie: 'nxIksl91sXxS8ls1', // default null 
    album_title: 'Lorem Photos Album', // default null 
    content_type: 'safe', // default 'safe' 
    thumbnail_size: '350c', // default '100c'
    comments_enabled: false, // default false 
    logger: true // default true 
}

imgbox(images, options)
    .then(res => console.log(res));

Note : 🚀

options type description
auth_cookie string As default images is uploaded as a guest.
To get cookie and upload as logged in user jump here
album_title string Title of gallery/album
content_type string 'safe'= family safe content
'adult'= adult content
thumbnail_size string c = thumbnail will be cropped
r = thumbnail will be resized
'100c', '150c', '200c', '250c', '300c', '350c', '500c', '800c'
'100r', '150r', '200r', '250r', '300r', '350r', '500r', '800r'
comments_enabled boolean enable/disable comment section for particular image/gallery
true, false
logger boolean enable/disable request log
true, false
  • Multiple URL/Path + Filename + Create Album
const auth_cookie = '_imgbox_session=ZmtjTFR...'

const images = [
    { source: 'https://picsum.photos/200/300', filename: 'Lorem Photos from URL' },
    { source: 'https://picsum.photos/200', filename: 'Lorem Photos from URL' },
    { source: 'https://picsum.photos/300', filename: 'Lorem Photos from URL' }
]

const options = {
    auth_cookie: auth_cookie,
    album_title: 'Lorem Photos Album',
    content_type: 'safe',
    thumbnail_size: '350c',
    comments_enabled: false,
    logger: false
}

imgbox(images, options).then(res => console.log(res));
  • URL/Path + Create Album
const options = {
    album_title: 'My Album',
    content_type: 'safe',
    thumbnail_size: '350r',
    comments_enabled: 1
}

imgbox('https://picsum.photos/200', options)
    .then(res => console.log(res));

  • Get Images
const auth_cookie = '_imgbox_session=ZmtjTFR...'

const options = {
    auth_cookie: auth_cookie, // mandatory
    scope: 'all', // optional, default 'all'
    page: 1, // optional, default 1
    logger: true // optional, default true
}

imgbox
    .getImages(options)
    .then(res => console.log(res));

Note : 🚀

options type description
auth_cookie string this is mandatory to get access to your images.
scope string 'all'= get all images from your account
'unbound'= get images that belong to a gallery
page number pagination, return empty array [] if images are empty in particular page
logger boolean enable/disable request log
true, false
  • Get Galleries
const options = {
    auth_cookie: '_imgbox_session=ZmtjTFR...', // mandatory
    page: 1, // optional, default 1
    logger: true,  // optional, default true
    order_by: 'updated'  // optional, default 'updated'
}

// get galleries along with it's images from your account
imgbox
    .getGalleries(options)
    .then(res => console.log(res));

Note : 🚀 order_by is string. Possible values : 'updated' or 'created' or 'title'


  • Delete Images
// you can pass ID or Image's URL
// as Array 
const images = [
    'KEqFMTKX',
    'https://imgbox.com/xxXsDvUv'
]

// delete images from your account
imgbox
    .deleteImages(images, { auth_cookie: '_imgbox_session=ZmtjTFR...' })
    .then(res => console.log(res));
  • Delete Gallery
// url got from upload images + create album
const gallery_edit_url = 'https://imgbox.com/gallery/edit/zTFrSKPFF4/JR0hdNWKEAeChDFi'

// delete as logged in user
imgbox
    .deleteGallery(gallery_edit_url, { auth_cookie: '_imgbox_session=ZmtjTFR...' })
    .then(res => console.log(res

  • Enable/Disable Gallery Comment
// url got from upload images + create album
const gallery_edit_url = 'https://imgbox.com/gallery/edit/zTFrSKPFF4/JR0hdNWKEAeChDFi'

imgbox
    .updateComment(gallery_edit_url, { comments_enabled: true })
    .then(res => console.log(res));

Get Login Cookie

Unfortunately, there's no way to get Http Only Cookie by just using Javascript. IMGBOX does not provide such as api_token either. So, to get access it's protected route we need to open up the browser and grab the Cookie after we are logged in. get_login_cookie.jpg

// then you can use it whenever you dealing with this API, eg.
const auth_cookie = '_imgbox_session=ZmtjTFR...'

Contributing

Pull requests are welcome.

License

MIT

Package Sidebar

Install

npm i imgbox-js-browser

Weekly Downloads

3

Version

1.2.0

License

MIT

Unpacked Size

65.4 kB

Total Files

16

Last publish

Collaborators

  • hristo2612