If you are open to a paid option, my Formulaire extension might have exactly what you need https://discuss.flarum.org/d/23063-formulaire-the-premium-form-builder
With my extension you can create one or multiple discussion fields of type "Upload". Each field can be configured to accept a number of files of your choosing.
There is currently no file preview, just a download link for each attached files, but file previews are something I hope to add in the future, particularly for images and PDFs.
You can even configure the fields to only be visible to the discussion author and moderators if need be.