Displaying a base64-encoded image within an rhtml template

I'm working on generating FedEx labels for quick & easy shipping. FedEx returns the label as a base64-encoded string. Assuming that 'match' is the base64 string containing the label data, here is what I have to display the image:

send_data image, :filename => 'fedex_shipping_label.png', :type => 'image/png', :disposition => 'inline'

That works fine, but I'd like to be able to set some html/css parameters on it so that it prints at 200dpi, 4x6 inches (the RMagick 'resample' method wasn't working for me). I don't really want to save the label as a file, either. Is there a way to send a variable to the template (e.g., @image) so that it gets rendered as an image?

Thank you!

-Kyle

I'm working on generating FedEx labels for quick & easy shipping. FedEx returns the label as a base64-encoded string. Assuming that 'match' is the base64 string containing the label data, here is what I have to display the image:

send_data image, :filename => 'fedex_shipping_label.png', :type => 'image/png', :disposition => 'inline'

That works fine, but I'd like to be able to set some html/css parameters on it so that it prints at 200dpi, 4x6 inches (the RMagick 'resample' method wasn't working for me). I don't really want to save the label as a file, either. Is there a way to send a variable to the template (e.g., @image) so that it gets rendered as an image?

Well you can do <img src="data:image/jpeg;base64,base_64_data_here" > So presumably, just <img src="data:image/jpeg;base64,<%=
@base_64_encoded_data %>"> would do the trick

Fred

Thank you! I had never seen the data type in an image element. After a couple of stupidity checks, it appears to be working very well.

Thank you again.

-Kyle

Be aware this does not work in IE 6 or 7...

See this: Dean Edwards: Base64 Encoded Images for Internet Explorer and this: Dean Edwards: Base64 Encoded Images for Internet Explorer (sexy version)