Olá pessoal!
Minha aplicação precisa acessar um outro sistema através de uma URL que retorna pra mim o “content” no formato PDF (se acesso pelo browser, ele me pergunta se eu desejo salvar o PDF em disco, garantindo que o lado de lá está em perfeito funcionamento).
Acontece que recebo e trato os dados da seguinte maneira:
String data = "cod=1";
URL url = new URL("http://...");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
writer.write(data);
writer.flush();
InputStream inputStream = conn.getInputStream();
byte[] b = new byte[inputStream.available()];
inputStream.read(b);
OutputStream outputStream = new FileOutputStream("D://Teste.pdf");
outputStream.write(arquivo.getConteudo());
outputStream.close();
A requisição é feita com sucesso; a resposta vem no formato PDF (um System.out.println garantiu os dados vindos como um arquivo PDF) mas o arquivo gerado no caminho indicado não consegue ser aberto pelo AdobeReader, por exemplo, pois ele diz que o mesmo está corrompido.
Quando acesso pelo browser o arquivo PDF abre normalmente.
Alguém faz idéia do que falta no código acima para que isso funcione?
Mt obrigado!!