2016-11-10 3 views
0

Ich habe versucht, ein PDF-Dokument aus der von Orbeon mit Java generierten PDF-URL zu speichern, und mein InputStream ist immer null. Wenn ich diese URL im Browser öffne, funktioniert es gut, aber wenn ich den Code inspiziere, finde ich den Textkörper der PDF nicht.So speichern Sie eine PDF-Datei von der PDF-URL des Orbeon-Formulars mit Java

try { 
    URL urlPDF = new URL(urlPdfOrbeon); 

    URLConnection connection = urlPDF.openConnection(); 

    InputStream in = connection.getInputStream(); 
    System.out.println(IOUtils.toString(in)) ; 
    FileOutputStream fos = new FileOutputStream(newFile("yourFile.pdf")); 

    int length = -1; 
    byte[] buffer = new byte[1024]; 
    while ((length = in.read(buffer)) > -1) { 
     fos.write(buffer, 0, length); 
    } 
    fos.close(); 
    in.close(); 

}

Antwort

0

Der Eingangsstrom ist nicht null. Es muss jedoch kein Byte mehr gelesen werden, wenn Sie versuchen, den Inhalt in die Datei zu schreiben. Und das ist zu erwarten, da unmittelbar vor, Sie alles, was in dem Stream gelesen durch den Aufruf

System.out.println(IOUtils.toString(in)); 

EDIT:

Wenn der Eingangsstrom eine HTML-Seite tatsächlich enthält, die Sie fragen, sich anzumelden, ist es wahrscheinlich, dass Sie brauchen, um eingeloggt sein, um auf diese PDF zuzugreifen.

Verwandte Themen