While simply uploading the files to a web server and allowing access to them is an option.
There are a couple of potential requirements which you should consider.
1: authentication of the user requesting the file.
2: accessing files by fields other than thier filename.
This kind of thing can steer you towards the approach you seem to be taking. Ie
1: Files are stored on a database or other private file repository.
2: An Api is exposed which handles an incomming request, locates the file, reads it from the store and returns the data.
Having the API in front of the file access gives you a handy place to add authentication, logging, returning lists of files etc.
When deciding what kind of repository to use to store the file, you should consider that you will probably also want to store some meta data along with the file; for which a db is a good option.
Storing the actual file itself in a db may be considered controversial. However, I believe that mssql at least offers some good options here.
You might also consider various cloud based storage options. Amazon S3 for example.
Having an API in front means you can abstract the storage method from the access method.
Also in your particular case the API could generate the file and save it if it has not previously been created. Removing your need for the win forms app