Nextcloud works well for this, and as the files are already on your server you don't have to upload anywhere, you just share the folder, put an expiry date on and send them the url
To add to this, it's reasonably easy to run, and has many different plugins, from a calendar and contacts list, to an online document editor (like Google Docs, except it can be pretty slow and/or resource intensive: https://nextcloud.com/office/), to a simple clone of Slack (https://nextcloud.com/talk/), a mail client (https://apps.nextcloud.com/apps/mail) and other things.
That said, I've had updates (across major versions) break things on multiple occasions, one out of two servers running the exact same version has random crashes and in addition to that the file locking by default (if enabled, but not using Redis: https://docs.nextcloud.com/server/latest/admin_manual/config...) has broken and prevents me from deleting a file that just sits there and takes up a few GB of space. Oh and their Android app fails to upload files if I use the share option, instead of the file picker from within the app.
On the other hand, sure beats storing data on third party clouds and is free, so I'll still keep using it.
And as a bonus it can also be set as a drop box, where customers can send files to a folder of your choice. All the benefits of wetransfer but self hosted.
Yes, sending it is easy. But on the other side, whatever software my customers are using tends to break the links.
I've had that with both mail clients and messenger. Call it antivirus protections, "you're leaving our website" thing, facebook tracking data... Whatever, they will break your links eventually.
I know, it's unbelievable, I don't blame you for doubting me. But still...