So senden Sie die PDF-Datei als Antwort mit Servlet?

Meine Forderung reagiert die PDF-Daten auf die mobilen Clients(iPhone) mit HTTP-Servlet.

Habe ich in der folgenden Art und Weise, Aber ich bin nicht immer erwartete Ausgabe in den client.

    PrintWriter out = response.getWriter();

    String aInputFileName = "/Users/hcl/Desktop/Easwar/sample.pdf";
        log("Reading in binary file named : " + aInputFileName);
        File file = new File(aInputFileName);
        log("File size: " + file.length());
        byte[] result = new byte[(int)file.length()];
        System.out.println("Length : "+  result.length);
        try {
          InputStream input = null;
          try {
            int totalBytesRead = 0;
            input = new BufferedInputStream(new FileInputStream(file));
            while(totalBytesRead < result.length){
              int bytesRemaining = result.length - totalBytesRead;
              //input.read() returns -1, 0, or more :
              int bytesRead = input.read(result, totalBytesRead, bytesRemaining); 
              if (bytesRead > 0){
                totalBytesRead = totalBytesRead + bytesRead;
              }
            }
        response.setHeader("Content-Type", "application/pdf");

        out.println(result);

Ist die Methode, der ich folgte, richtig? Bitte um Rat.

Dank.

out PrintWriter out = response.getWriter(); Bearbeitet meine Frage. Haben Sie immer noch sagen, write(), wenn ja, wie.
Verwenden ServletOutputStream out und Sie brauchen, um zu verwenden write() auf out .
Bestimmen ServletOutputStream das funktioniert. Könnten Sie bitte erwähnen Sie die gleiche Antwort. Ich werde es akzeptieren.

InformationsquelleAutor Easwaramoorthy K | 2013-06-07

Schreibe einen Kommentar