People argue over that. It depends on a lot of things. There's no "right or wrong", just what works best for you.
When you upload an (image) file, the data is stored in the server in a local cache where it can be accessed as an input stream. Your application code can then copy the data stream to a database BLOB or it can create a file on the server's filesystem and copy the data into that file. The file can be located anywhere you wish, as long as you don't copy it into your WAR's directories or into the webapp server's directories.
An IDE is no substitute for an Intelligent Developer.