In an earlier entry I mentioned that I was building a little app to display a bunch of static information. Sometimes I find it immensely useful to embed all resources into a single data-file. Not only does it make handling the data simpler but also retrieving it over the internet.
My data has a bunch of text and a few images as well to go with it. I wrote the code below (in python) to automate embedding of image data directly in with the other text that I will be serving.
@staticmethod def encode_image_as_base64( image_path, base_path ): """ Loads an image from path and returns it as base64 encoded string """ # The image path can be a URI with a query string. # Remove any query string elements, basically everything following # a question (?) mark qs_split = image_path.split("?") image_path = qs_split file_name = os.path.join( base_path, image_path) file_name = urllib.unquote(file_name) print "Encoding image: "+file_name encoded_string = "" with open(file_name, "rb") as image_file: encoded_string = base64.b64encode(image_file.read()) return encoded_string
It may not compress all that well but it makes data handling clean and simple.
Developer & Programmer with +15 years professional experience building software.
Seeking WFH, remoting or freelance opportunities.