I know the following KnowledgeBase article is over 10 years old but the principles still apply.
198686 How to send files larger than 4 MB by using Microsoft Message Queuing
and at the other end, reverse the process.
Make use of the Label and AppSpecific message properties to maintain the sequencing of the data.
You could instead use transactions to keep the messages in order but this will require more resources - the whole file would need to be stored as messages in the outgoing queue before sending can commence. In the example above, each fragment is instead sent as soon as msq.send q is called. The same applies on delivery - transactional messaging would only make the file chunks available when all the messages had arrived; non-transactional messaging could be used to start generating the output file as soon as the first chunk arrived.