I recently found myself in need of a way to convert a Binary data column into Base64 encoded data when returning a query. After a quick Google, I was directed to Ben Nadel’s post “Updating Columns In An Existing ColdFusion Query Object” which details how to use javaCast to update a ColdFusion query.
From there, I just needed to add the small extra step of Base64 encoding and my query was ready to go.
<cfset base64Data = toBase64(q.my_binary_data) />
<cfset q["my_binary_data"][q.currentRow] = javaCast("string",'#base64Data#') />
This is not the first time I found a useful solution on Ben’s site. If you use ColdFusion, you should definitely check it out. He has some great, easy-to-understand, posts on many useful topics.
Once I had it working, I was astounded by the simplicity. The only pre-requisite is that your server is running ColdFusion 8 or above. Here are the steps:
Note that the following steps assume your site is already created
- Download ColdSpring.
- Unzip ColdSpring, rename the unzipped folder to “coldspring” and copy it into your site root.
- Download Model-Glue.
- Unzip the Model-Glue archive into a temp folder.
- Copy the Model-Glue folder into your site root.
- Copy the contents of the /modelglueapplicationtemplate directory to your site root. Do NOT copy the folder itself.
- From your site root, open /config/ColdSpring.xml and delete the two occurrences of “/modelglueapplicationtemplate” on lines 12 and 13. This should result in your viewMappings being “/views” and your generatedViewMapping being “/views/generated”
- From your site root, open /config/ModelGlue.xml and delete “modelglueapplicationtemplate.” from line 3 making it “controller.Controller” instead of “modelglueapplicationtemplate.controller.Controller”.
- Delete Application.cfm from your site root and replace it with the Application.cfc in this zip file.
- Open Application.cfc and change the application name from yourAppNameHere to your application name. If you don’t know what to use, use your domain minus the dot, i.e., “myDomainCOM”.
Providing your server is running ColdFusion 8 or above, you should now have a working Model-Glue site! To test it, open the site in your browser and you should see a message stating “Model-Glue is up and running!”