A user uploads a large resolution image to the server. A thumbnail needs to be created for this image. I thought about instead of having a GD intensive operation to create the thumbnail in PHP, can this process actually be off-loaded to the client/browser? Modern browers these days have support for scaling down images rapidly, but I'm sure there are many cons and pros of doing such a task, so my questions are...

1. This would be a more efficient way of doing it, but **how much more efficient** rather than GD operation on server side?
2. Is there any **Javascript libraries** out there that can **save an image in JPG** format quickly so it can be sent to the server via Ajax?
3. As a general note, the conversion will be done **using Web Workers**, so not to affect users browser.
4. Obviously the user can potetionally exploit and send a thumbnail that's completely unrelated to the full size image. Is there any good way around this, i.e. calculating quickly how alike the thumbnail and full size image is and if they are i.e. 98% alike, then allow the image?

I understand there are probably better ways of doing it, such as offloading to another server entirely, or doing a batch job at 3am for example, but for academic/informatic purposes, with the advent of modern browser and their improved Javascript engines, can work like this be put on clients browser?