Thomas, let me explain the "why", as this question comes up a lot. It's certainly possible to do what you're asking, but as you've already heard, nobody here will tell you that "yes, this is a great solution for file distribution". If you did create such a strategy around NATS, you'd need to manage every aspect of the process including the "chunking" on the sender end, ordered reassembly on the receiver end, checksum verification, progress monitoring, etc. You'd have to do all that work yourself.
One of the key reasons that no one (including myself) will recommend this as a solution for your problem is scaling and performance efficiency. The performance of a system like NATS is largely bounded by I/O constraints. It's very good at distributing lots of small messages efficiently between lots of clients. In the type of solution you're envisioning, the NATS server would be spending a lot of time reading/writing large message chunks across socket connections and therefore its ability to do other things (service other clients efficiently) would be limited. If NATS was going to be dedicated to this use case, and you were able to bound the number of files being sent simultaneously through a given NATS server, and the number of simultaneous receivers was small, this might be manageable. But once you start putting these constraints on the solution, you have to wonder if there's not a better way...