You didn't mention which version of Drupal you are using, I'm assuming 7:
This is exactly what the image module in core does, it allows you to upload one image that it then can scale, crop and more. What it doesn't do is provide the links to download. I'd package this up into a small module (I couldn't find anything similar with a quick Google search) that defines the image styles using hook_image_default_styles()
. You could then possibly create a field formatter that shows a thumbnail and then the links to different image sizes (you'd get the URL for each image style with image_style_url()
.
Probably one of many ways of doing this but if you are comfortable writing code this could be a good way to go!