Il body della request in questo caso ha il formato multipart/form-data. Nessuno vieterebbe di leggere/parsare lo stream della request "a mano" ma generalmente non si fa, è complesso e richiede la conoscenza precisa delle specifiche.
Di norma si una libreria (in questo caso Java) da usare server-side per la gestione dell'upload. Ad esempio la ben nota Apache Commons FileUpload.