Bishwas-py in case they should remain invisible to the public you would store it in the storage directory; you can resolve the directory using the \Flarum\Foundation\Paths class through the container. Alternatively if you want the files to be accessible from the web, you would store it in a subdirectory under public/assets, this path can also be retrieved from the Paths class.
For the public assets files you can also use the native Filesystem class, which makes copying and saving easier. For this you can resolve the Flarum\Filesystem\FilesystemManager or filesystem through the container.