In
this post I explain how to retrieve an image from the server computer and write it into the response's output stream so that it is sent to the browser.
All you have to do is change the
Response.ContentType = "image/jpg"
to match the type of content you are sending down to the browser.
Once the content is sent to the browser the browser will attempt to open it in a plugin that can open the file. If there is no plugin that matches the ContentType that you sent, it will open a dialog that lets the user save the file to their computer or cancel the action.
If you want to force the item to be downloaded (not opened by the browser) you can specify the type "application" as the ContentType and the browser will not have a matching plugin.
You may want to rename the aspx file to something other than "Thumbnail" as well.