I'm working on user image upload in ASP.net, I want to know what is the best practice followed in image heavy web application design
Before uploading i've to shrink the size and store all the image on Amazon at once
I would use a queueing mechanism to break out your upload process into steps that can execute separately.
I want to note that processing an image outside of the ASP.NET process is most optimal since image modification can be a process hog.
Breaking out processing into steps will help you diagnose issues in your process much easier as it will be obvious where things are broken.
Just my 2 cents :)
It depends only on your business requirements. But keep in mind once the image is stored on amazon, it has an unique url. If you need a smaller image, you have to upload another one. It's up to you to decide when you want to upload a smaller image:
But in the second case you simply can't follow the user to amazon's url, because the image doesn't exist at the moment. So you have to handle it somehow, maybe make a redirection url on your website.
Anyway, the most simpler and painless way to do this is just to create all the necessary images at the same time when you uploading your original image.