HTTP headers ? How to pipe an ASP file through ?

J

jethro_uk

Hi Guys,

I have a problem, and I would be grateful for any help.

My WebApp has to do some database work in page1.ASP Because this may
take a few second, before Page1 connects to the database, it doeas a
"Response.Buffer=false", and pumps out a bit of javascript which
displays a progress bar.

SO far so good.

When the database call is completed, I then write out a bit more
javascript to stop the progress bar.

Now, I have a binary fields retrieved from the database, which needs to
be written like this :

<%
Response.ContentType = "application/pdf" [error]
response.BinaryWrite (mydatabase field)
%>

Of course I am getting an error about HTTP headers having been written
already.

Can anyone suggest a way that I can display this PDF from Page1.asp ?
At the moment, one I have done the database work (which populates the
database) I have to transfer to PAGE2.ASP which then has to open the
database, and retrieve the field again. The problem is that this
process takes a few seconds too, which also requires the progressbar
!!!!!

What I would like to do, (if it's possible) is something like this :

PAGE1.ASP
<%
....[code to intialise progressbar]...
....[database call]...
....[clear progress bar]...
....[write db field as PDF]...
%>

thanks in advance
 
A

Anthony Jones

Hi Guys,

I have a problem, and I would be grateful for any help.

My WebApp has to do some database work in page1.ASP Because this may
take a few second, before Page1 connects to the database, it doeas a
"Response.Buffer=false", and pumps out a bit of javascript which
displays a progress bar.

SO far so good.

When the database call is completed, I then write out a bit more
javascript to stop the progress bar.

Now, I have a binary fields retrieved from the database, which needs to
be written like this :

<%
Response.ContentType = "application/pdf" [error]
response.BinaryWrite (mydatabase field)
%>

Of course I am getting an error about HTTP headers having been written
already.

Can anyone suggest a way that I can display this PDF from Page1.asp ?
At the moment, one I have done the database work (which populates the
database) I have to transfer to PAGE2.ASP which then has to open the
database, and retrieve the field again. The problem is that this
process takes a few seconds too, which also requires the progressbar
!!!!!

What I would like to do, (if it's possible) is something like this :

PAGE1.ASP
<%
...[code to intialise progressbar]...
...[database call]...
...[clear progress bar]...
...[write db field as PDF]...
%>

The request should ultimately return a PDF. Since a PDF doesn't begin with
Javascript code you've corrupted the download before you have even begun.

One thing you might try is an accessor page which launches a modeless dialog
containng your progress bar then navigates to the page that delivers the
PDF. The when the PDF starts to download the internal window containing
your accessor page will be closed to be replaced with the PDF at this point
the modelss dialog will be closed automatically for you.

I'm not sure how this would work in a non-IE environment though.
 
S

Sean Harrop

Not sure if this follows your business rules, but what I've done in the past
is create an actual PDF file in a temp virtual directory, and then have the
page that created the file redirect to that file. If the information is
sensitive, make sure you have some sort of cleanup routine (possibly
triggered when a session ends).
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,012
Latest member
RoxanneDzm

Latest Threads

Top