Downloading file from database causes page to stop responding???

J

~john

I have binary files stored in a SQL Server table that I want the user
to be able to download from an aspx webpage. The files are displayed
on the form as "LinkButtons". When the link is clicked the code in my
event handler writes out the contents of the file which prompts the
user for the download or open dialog box. The first time you click an
attachment it opens fine but any action on the page after that doesn't
seem to work, the page just stops responding. Trying to click other
attachments do not open and clicking Buttons stop responding. Below is
my EvenHandler... any idea what I'm doing wrong? Should I not be doing
this in an event handler?






1 void LinkButton_Download_Command(object sender, CommandEventArgs
e)
2
3 {
4
5 DBFile f =
DBFile_DAL.GetByID(Convert.ToInt32(e.CommandArgument));
6
7
8 Page.Response.AppendHeader("Content-Disposition",
"Attachment; Filename=" + f.FileName);
9
10 Page.Response.ContentType = "application/download";
11
12 Page.Response.BinaryWrite(f.FileData);
13
14 }
15
16
 
M

Mark Rae [MVP]

10 Page.Response.ContentType = "application/download";
11 Page.Response.Flush();
12 Page.Response.BinaryWrite(f.FileData);
13 Page.Response.End();
 
J

~john

10    Page.Response.ContentType = "application/download";
11    Page.Response.Flush();
12    Page.Response.BinaryWrite(f.FileData);
13    Page.Response.End();


I just tried that and got this output in IE.






The XML page cannot be displayed
Cannot view XML input using style sheet. Please correct the error and
then click the Refresh button, or try again later.

--------------------------------------------------------------------------------

An invalid character was found in text content. Error processing
resource 'http://greenstapler/iso/ems/Pages/CarParForm.asp...

GIF89a
 
J

~john

Also I'm doing this in an event handler of the same web page. Do I
need to redirect to another web page to handle the download?

John
 
M

Mark Rae [MVP]

Also I'm doing this in an event handler of the same web page. Do I
need to redirect to another web page to handle the download?

That would certainly be my preferred way of doing it, yes...
 
J

~john

Thanks everyone... Also, I should mention this code is inside a
SharePoint 2007 WebPart. When copying the same code over to a regular
ASP.net webpage it appears to work fine. I'm not sure why SharePoint
would treat it differently.

John
 

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,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top