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 the supplied path (using the base path as a
reference) and returns it as a 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[0] 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.