>As for saving it on disk, if you're using SQL Server, you may want to look at FileStream. I'm just starting to investigate this myself, but it looks slick. Basically, SQL Server handles the file for you. A reference is stored in the DB. IF the row is deleted, SQL Server deletes the file. If the file is deleted from disk, the field is NULLed. In .Net you treat it as a byte array.
Very interesting, so there is some kind of relationship between a record and a file on disk that is supported at the SQL Server level from which we can benefit from. So far, I was always doing it a the framework level. But, it is nice to know. As, for now, if I delete a record, it will know that it has to delete the file on disk but I have to code it as it is not automatic.