Problema com Servlet

Veja este código

InputStream in = request.getInputStream(); String param = request.getParameter("param");

Ele desta forma funciona perfeitamente, mas na verdade eu queria que fosse assim:

if(request.getParameter("param") == null){ InputStream in = request.getInputStream(); /* Mais código aqui */ }

Tah beleza não tá?
Não está não, esta chamada no 2º código de request.getParameter parece anular o conteudo InputStream logo adiante, e ele fica vazio onde deveria ter um arquivo que fiz Upload.

Não entendo porquê isto ocorre, em todo caso o 1º código do topo resolve tudo, mas se eu conseguisse fazer o 2º funcionar ficaria bem mais elegante e Ágil, visto que eu só preciso do InputStream se o param for null.

Posso estar falando besteira mas de repente se você der request.getParameter(…) quem pega o InputStream é o container e daí você não consegue pegar mais (!!!)

Em todo caso a primeira alternativa não é tão ruim, visto que você está obtendo somente uma referência para o InputStream e não há mal nenhum nisso, certo? :slight_smile:

Um teste interessante seria ver nesse seu primeiro código se depois de dar o request.getParameter(…) você ainda consegue acessar o InputStream (o que indicaria o que eu estou supondo no primeiro parágrafo).

Abraços,
Guilherme