readimg

package module
v0.0.0-...-772a0ed Latest Latest
Warning

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

Go to latest
Published: Jun 5, 2020 License: MIT Imports: 11 Imported by: 0

README

readimg

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 New

New optional factory method, should be used if one activity instance per configuration is desired

Types

type Activity

type Activity struct {
}

Activity is an sample Activity that can be used as a base to create a custom activity

func (*Activity) Eval

func (a *Activity) Eval(ctx activity.Context) (done bool, err error)

Eval implements api.Activity.Eval - Logs the Message

func (*Activity) Metadata

func (a *Activity) Metadata() *activity.Metadata

Metadata returns the activity's metadata

type Input

type Input struct {
	AnPath string `md:"anPath,required"`
}

func (*Input) FromMap

func (r *Input) FromMap(values map[string]interface{}) error

func (*Input) ToMap

func (r *Input) ToMap() map[string]interface{}

type Output

type Output struct {
	AnResult bool   `md:"anResult"`
	AnOutput []byte `md:"anOutput"`
}

func (*Output) FromMap

func (o *Output) FromMap(values map[string]interface{}) error

func (*Output) ToMap

func (o *Output) ToMap() map[string]interface{}

Jump to

Keyboard shortcuts

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