A parte la gestione delle eccezioni (che può essere fatta molto meglio), non vedo errori in questa parte di codice.
Sicuro che non sia il client a fare qualcosa di sbagliato in fase di codifica base64?


Ciao.