Innanzitutto l'OutputStream che ottieni dalla response non va chiuso. Quell'OutputStream è gestito dall'Application Server / Servlet Container, è lui che si deve occupare della chiusura.
Poi dici che non funziona: controlla i log per vedere se vi è qualche eccezione ed, eventualmente, postala qui. Al di là del content-type (che io imposto solitamente a "application/octet-stream;name=...") non vedo problemi nel codice che hai postato.
Ciao.![]()