imgbase64

package module
v0.0.0-...-cb7bf37 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 20, 2014 License: MIT Imports: 8 Imported by: 5

README

imgbase64

Build Status

Convert an image to its base64 equivalent. API Documentation on go.pkgdoc.org.

Features

  • Fetch an image from an external server and convert to base64
  • Use an image on your local machine to convert to base64
  • Share a bytes.Buffer to the package to detect the mime type and convert the image to base64
  • Ability to set a failover image if desired image throws an error or does not exist.
  • Automatically converts urls with " " to %20. Note: If your target domain uses +, _, etc. for space indicators it is your responsibility to modify the url accordingly.
  • Correctly sets the base64 encoding type to the media type of the image. Example: data:image/jpeg;base64
  • Returned image is ready to be used

Installation

go get github.com/polds/imgbase64

Usage

imgbase64.SetDefaultImage("http://yourdomain.com/defaultimage.png") // Optional - If FromRemote fails it will return " "

// Fetch the image from a remote server
img := imgbase64.FromRemote("http://somedomain.com/animage.jpg")

// Use an image local to machine
img := imgbase64.FromLocal("test.png")

// Pass an image buffer to package
img := imgbase64.FromBuffer(b)

Notes

  • Please make sure your Default Image is a working image url. If your Default Image fails to load the package will panic(). This was deliberate.
  • FromLocal has several instances where it might panic(), these are deliberate.

Todo

  • Better error detection. Websites with custom 404 pages will sometimes "succeed" as being images and the package will base64 the html content of that page.
  • Ability to use local images to convert to base64
  • Cache the Default Image only once during the lifetime of the application. Presently every failed image is repulled.
  • Deprecate NewImage
  • Allow use of DefaultImage with FromBuffer and FromLocal

Change Log

October 24, 2013
  • ADD: FromLocal - Allows you to base64 encode local images
  • ADD: FromBuffer - Allows you to base64 encode from a byte.Buffer
  • CHANGE: Rename function NewImage to FromRemote, please update accordingly. Will remove NewImage in future commits.
  • ADD: Examples

This is my first package in Go. Suggestions or comments please tweet @Peter_Olds

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultImage

func DefaultImage() string

Get Default Image

func FromBuffer

func FromBuffer(buf bytes.Buffer) string

FromBuffer accepts a buffer and returns a base64 encoded string.

func FromLocal

func FromLocal(fname string) (string, error)

FromLocal reads a local file and returns the base64 encoded version.

func FromRemote

func FromRemote(url string) string

FromRemote is a better named function that presently calls NewImage which will be deprecated. Function accepts an RFC compliant URL and returns a base64 encoded result.

func NewImage

func NewImage(url string) string

DEPRECATED Begin a NewImage to fetch TODO: Deprecate NewImage

func SetDefaultImage

func SetDefaultImage(img string)

Set Default Image

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL