treeupload is a C# console app which uploads a local directory tree to a photo sharing site. It scans through a local directory tree and mirrors it to the corresponding hierarchy of folders and albums, creating them as necessary. Currently it only supports SmugMug; I may extend it to Flickr.
It is not ready for prime time yet, since it has some customizations specific to my setup which are not abstracted out, but it works.
-Adam Coyne [email protected]