Du kannst Sie aber stückchenweise transportieren, damit Du nicht die gesamten Daten auf einmal in den Speicher laden mußt. Zerlege dazu jeweils 3 Bytes in 4 base64 kodierte Zeichen. Das macht 3*8=24 Bits, die in 4 base64 Zeichen a 6 Bits konvertiert werden. So brauchst Du lediglich den Speicher, um 3 Bytes base64 kodieren zu können. Die werden bei der Abfrage an den Client geschickt, dann liest Du die nächsten 3 Bytes aus der Datei usw. bis alle Bytes geschickt wurden.
Für die serverseitige Konvertierung wäre dazu lediglich ein Feld mit den 64 base64-Zeichen erforderlich, also 64 Bytes.
MfG
GK