Response.WriteFile question

  • Thread starter Thread starter enzeez
  • Start date Start date
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
 
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
 
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
 
Back
Top