Solved

Why is my Response.Redirect not working after a Response.Flush

Posted on 2004-09-22
8
359 Views
Last Modified: 2012-06-27
I've got a script that sends a pdf to the browser for download, and then should re-direct the user to my home page.

The pdf downloads correctly but the re-direct isnt working, what am I doing wrong?

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Option Explicit
Const adTypeBinary = 1
Dim objStream
Set objStream = Server.CreateObject("ADODB.Stream")

objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile Server.MapPath("..\..\") & "\data\downloads\Profile.pdf"

Response.Buffer = True
Response.Clear
Response.AddHeader "Content-Disposition", "attachment; filename=Profile.pdf"
Response.AddHeader "Content-Length", objStream.Size
Response.Charset = "UTF-8"
Response.ContentType = "application/octet-stream"
Response.BinaryWrite objStream.Read
Response.Flush

objStream.Close
rsDocs.Close
Set objStream = Nothing

Response.Redirect("/home.asp")
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Download Test</title>
</head>

<body>
<p>Download Script</p>
</body>
</html>
0
Comment
Question by:FalconUK
  • 5
  • 3
8 Comments
 
LVL 46

Expert Comment

by:fritz_the_blank
ID: 12122604
Once you stream, the redirect will never be called.

FtB
0
 
LVL 46

Expert Comment

by:fritz_the_blank
ID: 12122616
One way around this is to spawn an extra window for the stream and then to redirect the original window.

FtB
0
 

Author Comment

by:FalconUK
ID: 12122867
By spawn an extra window do you mean using a pop up window?
Would this be done using JavaScript in the html once the page has loaded?

How would I do that?
0
Problems using Powershell and Active Directory?

Managing Active Directory does not always have to be complicated.  If you are spending more time trying instead of doing, then it's time to look at something else. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why

 
LVL 46

Accepted Solution

by:
fritz_the_blank earned 250 total points
ID: 12122906
Provide a link for the streaming window like this:

<a href="streamingPage.asp" target="_blank">Streaming Page</a>


If you want to move your current page back to the home page with this link, then you could try:

<a href="streamingPage.asp" target="_blank" onClick="location.replace("home.asp")">Streaming Page</a>

FtB
0
 

Author Comment

by:FalconUK
ID: 12123142
Cheers mate, did the trick nicely!
0
 
LVL 46

Expert Comment

by:fritz_the_blank
ID: 12123182
Glad to have helped.

Any reason for the grade of B, then?

FtB
0
 

Author Comment

by:FalconUK
ID: 12123680
Sorry, no offence, your answer was quite right!

I'm still quite new to all of this, is there any way I can change it?
0
 
LVL 46

Expert Comment

by:fritz_the_blank
ID: 12123698
I'll take care of it and thanks.

http://www.experts-exchange.com/Web/Web_Languages/ASP/help.jsp#hi73

Good luck with your project,

FtB
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

I recently decide that I needed a way to make my pages scream on the net.   While searching around how I can accomplish this I stumbled across a great article that stated "minimize the server requests." I got to thinking, hey, I use more than one…
I was asked about the differences between classic ASP and ASP.NET, so let me put them down here, for reference: Let's make the introductions... Classic ASP was launched by Microsoft in 1998 and dynamically generate web pages upon user interact…
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question