imgbox-js-browser
v1.2.0
Published
Lightweight Imgbox API. Unlimited free hosting for images FOR THE BROWSER🗳️.
Downloads
9
Maintainers
Readme
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.
// then you can use it whenever you dealing with this API, eg.
const auth_cookie = '_imgbox_session=ZmtjTFR...'
Contributing
Pull requests are welcome.