150k SD file Over Xbee

The file is a photo (hence the size) and its in a remote location (hence the xbee).

If it's a static file, why is it necessary for the file to be sent at all?

If it's dynamic, then sending it in packets, even though they are small, using API mode, is possible.

Sending it in larger packets, with packet number, size, payload, and checksum, with handshaking, in AT mode, is also possible (this is what API mode does, but with small packets).

What, exactly, is the problem you are trying to solve?