I'm developing an intranet webapp in asp.net that has a requirement for storing user profile images.
@edit: The webapp should be running in two different web servers at the same time.
My question is, what would be the best approach? Saving the photo with the profile (I'm using the SqlProfileProvider) or upload it to the file system and just save the link in the profile?
I understand the performance difference from one operation to the other, but my intranet would be used by a few hundred users and I very much like to store all data into a single place (makes backing up data easier for instance).
Assuming data I would store into the database, there are two other questions:
a) what type should I use for saving the photos? byte[]???
b) should I create a handler to display the image, or is there an easier approach?
I'm currently using an Image field in my database to store images, however, looking at the warning attached to this documentation, I guess I should move to a VarBinary.
I'm then using an HttpHandler to serve the images as requested (although the latest version of my site also has an MVC file action handler on the images Controller that does the same thing).
An example of my handler can be seen in this answer: