I have an architectural question about a project that I am working on.
Currently it is a simple .NET C# application that runs on several client machines, and communicates with a central MySQL server for data storage. There is not an application or service on the server at this time, just MySQL.
I would like to add image support so that users can add images to the database (and view after the fact), but after storing the images directly in MySQL as
BLOB I've decided this approach is a bad idea, as suggested in many posts on SO.
The application can't store images on the local filesystem because they would then be inaccessible to other users not on the same local host.
That being the case, I'm not sure how best to implement image support otherwise:
- The machines are all Windows-based, I can set up a shared folder but then I have the headache of maintaining a mapped network drive and user credentials/permissions.
- I've thought of adding another application (or service) that runs on the server and handles reading/writing of images on the server side, but this seems redundant in light of the fact that the computers already are capable of file transfers.
- Should I consider creating an application on the server to handle all communications between clients and the SQL database, adding filesystem communication there?