Unfortunately, most browsers will not let you do this on the client side. On the server side, you could specify an HTTP-Header with a mime-type but this does not work for files you don’t own. The good new is that Chrome, my favorite browser, allows client-side download forcing with the support of the HTML5 download attribute (Chrome supports it since version 14).
Here is the spec for the download attribute and it works by adding the attribute to a link with a reference to the path of the file you want download, for example:
<a href="path-to-file.png" download="path-to-file.png">Download file</a>
Here is a real life example that you can test in Chrome, just click on the image with your mouse:
This is the code for the image above:
<a href="http://farm6.staticflickr.com/5259/5449654430_5fbd935735_m.jpg" download="http://farm6.staticflickr.com/5259/5449654430_5fbd935735_m.jpg"><img src="http://farm6.staticflickr.com/5259/5449654430_5fbd935735_m.jpg" alt="HTML5 download attribute"></a>
There are also other use cases for this download attribute, like working with “blob: URLs” and “filesystem: URLs.” HTML5rocks talks about it here and Mathias Bynens also writes about it in his blog.