Solved

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

Posted on 2004-09-22
8
350 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
 
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
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 

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

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

I have helped a lot of people on EE with their coding sources and have enjoyed near about every minute of it. Sometimes it can get a little tedious but it is always a challenge and the one thing that I always say is:  The Exchange of information …
I would like to start this tip/trick by saying Thank You, to all who said that this could not be done, as it forced me to make sure that it could be accomplished. :) To start, I want to make sure everyone understands the importance of utilizing p…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

746 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

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now