Yes i see no difference,

I assume StreamCopier.copy() just does what my code does. I cannot find it
in any of the standard jars, so I assume this is one of your own.

Other than that everything else seems to be fine.

Oh well I am sure I will owrk it out

Steve
----- Original Message -----
From: "Anhony" <[EMAIL PROTECTED]>
To: "Tomcat Users List" <tomcat-user@jakarta.apache.org>
Sent: Thursday, May 05, 2005 2:19 AM
Subject: Re: Serving files using tomcat


> I use this code and it works in my app. Their are small differences
between
> how we copy the data to the response output. I don't know for sure, but
this
> may account for why the fragment I posted works.
>
> The difference is small, I think it would be worth giving it a try.
>
> AS-
>
>
> ----- Original Message -----
> From: "Steve Vanspall" <[EMAIL PROTECTED]>
> To: "Tomcat Users List" <tomcat-user@jakarta.apache.org>
> Sent: Wednesday, May 04, 2005 11:47 AM
> Subject: Re: Serving files using tomcat
>
>
> > Unfortunately that is what I do
> >
> > OutputStream dos = null;
> >    FileInputStream fis = null;
> >   try
> >   {
> >    fis = new FileInputStream(rf.getPdf());
> >    response.setContentType("application/pdf");
> >    response.setContentLength((int) rf.getPdf().length());
> >    //response.setHeader(response.)
> >    dos = response.getOutputStream();
> >
> >    int read = -1;
> >    byte[] bytes = new byte[100000];
> >    while((read = fis.read(bytes)) != -1)
> >     dos.write(bytes, 0, read);
> >    dos.flush();
> >    return mapping.findForward("PDF");
> >   } catch (Exception e)
> >   {
> >    // TODO Auto-generated catch block
> >    if(e instanceof SocketException)
> >     return mapping.findForward("reload");
> >    throw new IOException(e.toString());
> >   }
> >   finally
> >   {
> >
> >    if(dos != null)
> >     dos.close();
> >    if(fis != null)
> >     fis.close();
> >
> >
> >   }
> >
> > Acrobat now loads but the PDF doesn't appear.
> >
> > Probably worth mentioning that I use struts, so I forward to a blank
page
> > with the content type set to application/pdf, maybe that is the problem,
> > but
> > not sure what else to do with the return.
> >
> > When I do the same thing with a dynamic image and forward to a page with
a
> > jpg content type, the image appears without a problem.
> >
> > Steve
> > ----- Original Message -----
> > From: "Anhony" <[EMAIL PROTECTED]>
> > To: "Tomcat Users List" <tomcat-user@jakarta.apache.org>
> > Sent: Thursday, May 05, 2005 1:02 AM
> > Subject: Re: Serving files using tomcat
> >
> >
> >> Greetings,
> >>
> >> Take a look at the code fragment below. It should serve as a good
> >> starting
> >> point.
> >> I hope this helps.
> >>
> >> AS-
> >>
> >>     private void processPDFRequest(HttpServletRequest request,
> >> HttpServletResponse response) throws ServletException, IOException,
> >> Exception
> >>     {
> >>         int bytesCopied = 0;
> >>
> >>         FileInputStream fin = null;
> >>         OutputStream out = null;
> >>
> >>         String fileAddress = "The fully qualified path to your PDF
file";
> >>         if( fileAddress == null )
> >>             return;
> >>
> >>         int ext = fileAddress.lastIndexOf( '.' );
> >>         if( ext != -1 )
> >>         {
> >>             ext = fileAddress.substring( ext+1,
> >> fileAddress.length() ).toLowerCase();
> >>
> >>             if( ext == "pdf" )
> >>                 response.setContentType("application/pdf");
> >>             else
> >>                 "Do whatever you think best to do"
> >>         }
> >>         else
> >>             "Do whatever you think best to do"
> >>
> >>         try
> >>         {
> >>             out = response.getOutputStream();
> >>             fin = new FileInputStream( fileAddress );
> >>             bytesCopied = StreamCopier.copy( fin, out );
> >>         }
> >>         finally
> >>         {
> >>             if( fin != null )
> >>                 fin.close();
> >>             if( out != null )
> >>             {
> >>                 out.flush();
> >>                 out.close();
> >>             }
> >>         }
> >>     }
> >>
> >>
> >> ----- Original Message -----
> >> From: "Steve Vanspall" <[EMAIL PROTECTED]>
> >> To: "Tomcat User List" <tomcat-user@jakarta.apache.org>
> >> Sent: Wednesday, May 04, 2005 9:29 AM
> >> Subject: Serving files using tomcat
> >>
> >>
> >> Hi,
> >>
> >> I have been looking around and haven't found a solution that works
> >>
> >> basically I have a PDF that gets created dynamically. Now to save
memory
> >> I
> >> have the PDF written to a file rather than a ByteArray. The only way I
> >> can
> >> be sure that I wont encounter errors creating the file is to use
> >> File.createTempFile. The creation goes of ok. And I have checked the
file
> >> itself and the PDF looks great.
> >>
> >> How do i now serve this to the user who has requested it. If I try to
> > write
> >> it to the response (using the same method I use to creare dynamic
image,
> >> this works), it just shows up a blank screen.
> >>
> >> The problem also is, even if it did show the PDF, acrobat, to my
> > understand
> >> will read only chunks of the stream and will go pack to get more.
Thisis
> >> a
> >> problem because there is nothing to go back for.
> >>
> >> So the point,
> >>
> >> If I can just redirect the browser to a file in the tomcat temp
directory
> >> (can I do that, will the use have access to that directory), then how
do
> >> I
> >> translate the location of the temp directory to a url that is accesible
> >> outside.
> >>
> >> If not then what other suggestions can people give me.
> >>
> >> Thanks in advance
> >>
> >> Steve
> >>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to