personally, I think that "create thumbnail on upload" is the best option, then store the thumb in the desired place.
I say this because the server will only have to do the resize once - then it's done. the user is uploading a file (typical on uk ASDL a max of 256kbps anyway), so an extra 0.2 seconds (or however long it takes) will not be noticeable by the uploading user.
whereas, if it has to be done each time, each user visiting a page that displays a thumbnail will hae to wait for the thumnail (thumbnails if more than one per page) to be created........When I visit websites, I have 2mbps ASDL, I won't wait that long. if images are taking to long to load on 2mb, then they are too big - and I give up (unless the site is so so interesting that I will wait.)
In my opinion, anything that helps lower server load, and deliver the page faster is good.
disclaimer: I am not saying this is right, it is just my opinion, and how I do things.