Java httpServelTesponse PDF -Datei wird unter Linux/Android nicht richtig angezeigtJava

Java-Forum
Anonymous
 Java httpServelTesponse PDF -Datei wird unter Linux/Android nicht richtig angezeigt

Post by Anonymous »

Ich verwende ein Servlet zum Anzeigen von .pdf -Dateien im Browser. In der Windows -Umgebung ist alles in Ordnung. In der Linux (ARMV81)/Android -Umgebung habe ich leider keinen Erfolg. In diesen Umgebungen zeigt es immer das erste .pdf, das bereits angezeigt wurde. Es wird nicht aktualisiert, wobei die neuen Werte gesucht/aktualisiert/aktualisiert wurden.

Code: Select all

processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String namearq = request.getParameter("arq");

response.reset();
response.resetBuffer();
response.setHeader("Pragma","public");
response.setHeader("Expires", "0");
response.setHeader("Cache-Control","must-revalidate, post-check=0, pre-check=0");
ServletOutputStream out = response.getOutputStream();

String txt = "";
PdfReader reader = new PdfReader(arqajuda.getAbsolutePath());
for (int vliln = 0; vliln < reader.getNumberOfPages(); vliln++)
{
PdfTextExtractor pdfTextExtractor = new PdfTextExtractor(reader);
String vlsaux = pdfTextExtractor.getTextFromPage(vliln + 1);
txt = txt + vlsaux + "\n";
}
response.setHeader("Content-disposition", "inline; filename=\"" + namearq + ".text" + "\"");
response.setContentType("text/plain");
out.print(txt);
out.close();
}
< /code>
PDF-Beispiel, das nicht funktioniert: < /p>
processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String namearq = request.getParameter("arq");

response.reset();
response.resetBuffer();
response.setHeader("Pragma","public");
response.setHeader("Expires", "0");
response.setHeader("Cache-Control","must-revalidate, post-check=0, pre-check=0");
ServletOutputStream out = response.getOutputStream();
response.setHeader("Content-disposition", "inline; filename=\"" + namearq + ".pdf" + "\"");
response.setContentType("application/pdf");
FileInputStream fis = new FileInputStream(namearq);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[8192];
int bytesread;
while ((bytesread = fis.read(buffer, 0, 8192)) != -1)
{
baos.write(buffer, 0, bytesread);
}
fis.close();

response.setContentLength(baos.size());
baos.writeTo(out);
out.flush();
out.close();
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post