Creating corrupted PDF from bytearray

Viewed 2356

I was trying to generate PDf from byte array in Java which was returned through webservice, But the PDF cannot be opened. It shows its corrupted, I have attached my code. Anyone pls help about where i got wrong?

       JSONObject o = new  JSONObject(outjson);
       JSONObject jsonob = o.optJSONObject("PDF details");
       byte[] pdfbyte=jsonob.optString("pdf bytearray").toString().getBytes();
       String str1 = new String(pdfbyte);
        File someFile = new File("C:/Users/acer/Desktop/test1.pdf");
        FileOutputStream fos = new FileOutputStream(someFile);
        byte[] byteData = str1.getBytes();
        byte[] byteData1 = test.getBytes();
        fos.write(pdfbyte);
        fos.flush();
        fos.close();

Following is my JSON from webservice:

{"PDF details": {
                "id":"121",
                 "pdf bytearray":"[B@62a58cd"
                 }
}

Following is my webservice code which outputs bytearray in json:

public Response getPdf(  )
{
    String flag=null;
    File file = new File("C:/Users/acer/Desktop/Report.pdf");
    FileInputStream fileInputStream;
    byte[] data = null;
    byte[] finalData = null;
    ByteArrayOutputStream byteArrayOutputStream = null;


       fileInputStream = new FileInputStream(file);
       data = new byte[(int)file.length()];
       finalData = new byte[(int)file.length()];
       byteArrayOutputStream = new ByteArrayOutputStream();
       fileInputStream.read(data);
       byteArrayOutputStream.write(data);
       finalData = byteArrayOutputStream.toByteArray();
       fileInputStream.close(); 


    System.out.println(finalData);
    JSONObject jsonObject = new JSONObject();
    JSONObject mainjsonObject = new JSONObject();

    jsonObject.put("id","121");

    jsonObject.put("pdf bytearray",finalData);
    mainjsonObject.put("PDF details",jsonObject);
    flag = "" + mainjsonObject;

    return Response.status(200).entity(flag).build();

}
1 Answers
Related