Response.WriteFile question

E

enzeez

Hello,

I have a record stored in sqlserver database in binary form.
I want to display a link that will allow user to download this record as
a File.

I want to create a file at runtime or pass a specified number of bytes
to user's browser. I provide a link to the user and when he clicks the
link i want a file dialog to appear and the user can then give a file
name to store those bytes as a file.

The problem is i need to create links dynamically and supply the binary
or image bytes as a file download to user. How can i do this?

Can someone help me out here?

Thanks in advance
enzeez
 
A

Augustin Prasanna

I am sure your table will have a primary key and you will be using the
primary key to fetch the content

1) Link to some page like download.aspx and pass the key value (e.g. <a
href="download.aspx?fileid=1234">download</a>)
2) In download.aspx codebehind, write code to retrieve the content for this
Id
3) Write the resultset to using Response.binarywrite

below is a asp code snippet which almost does the same.

response.clear
response.contentType = "application/octet-stream"
response.addheader "content-disposition", "attachment; filename=" & FileName
set stream = server.CreateObject("ADODB.Stream")
stream.type = adTypeBinary
stream.open
stream.LoadFromFile Server.MapPath("/files") & FileName
while not stream.EOS
response.BinaryWrite Stream.Read(1024 * 64)
wend
stream.Close
Set stream = Nothing
response.Flush
response.End


Regards,
Augustin Prasanna
 
E

enzeez

Augustin Prasanna wrote:
Augustin said:
I am sure your table will have a primary key and you will be using the
primary key to fetch the content

1) Link to some page like download.aspx and pass the key value (e.g. <a
href="download.aspx?fileid=1234">download</a>)
2) In download.aspx codebehind, write code to retrieve the content for this
Id
3) Write the resultset to using Response.binarywrite

below is a asp code snippet which almost does the same.

response.clear
response.contentType = "application/octet-stream"
response.addheader "content-disposition", "attachment; filename=" & FileName
set stream = server.CreateObject("ADODB.Stream")
stream.type = adTypeBinary
stream.open
stream.LoadFromFile Server.MapPath("/files") & FileName
while not stream.EOS
response.BinaryWrite Stream.Read(1024 * 64)
wend
stream.Close
Set stream = Nothing
response.Flush
response.End


Regards,
Augustin Prasanna



I am sure your table will have a primary key and you will be using the
primary key to fetch the content

1) Link to some page like download.aspx and pass the key value (e.g. <a
href="download.aspx?fileid=1234">download</a>)
2) In download.aspx codebehind, write code to retrieve the content for this
Id
3) Write the resultset to using Response.binarywrite

below is a asp code snippet which almost does the same.

response.clear
response.contentType = "application/octet-stream"
response.addheader "content-disposition", "attachment; filename=" & FileName
set stream = server.CreateObject("ADODB.Stream")
stream.type = adTypeBinary
stream.open
stream.LoadFromFile Server.MapPath("/files") & FileName
while not stream.EOS
response.BinaryWrite Stream.Read(1024 * 64)
wend
stream.Close
Set stream = Nothing
response.Flush
response.End


Regards,
Augustin Prasanna
Thank you.
This solves my problem
 

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

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,017
Latest member
GreenAcreCBDGummiesReview

Latest Threads

Top