Connecting Tech Pros Worldwide Forums | Help | Site Map

chopping file while sending it via asp response.binary write

.nLL
Guest
 
Posts: n/a
#1: Feb 13 '07
hi everyone. i use asp to send files to users to prevent hotlinking and i
always used following code



Response.ContentType="video/3gpp"
response.addheader "Content-Disposition", "attachment;filename="& file
& ";"
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 1
objStream.LoadFromFile "c:\my.file"
Response.BinaryWrite objStream.Read
objStream.Close
Set objStream = Nothing



none of the files bigger than 4 mb. but today i have read read following
(couple posts below)





Sub SendFileToResponse(FilePath, FileName)

Const clChunkSize = 1048576 ' 1MB

Dim oStream, i
Response.Buffer = False

Response.ContentType = "application/octet-stream"
Response.AddHeader "Content-Disposition", _
"attachment; Filename=" & FileName

Set oStream = Server.CreateObject("ADODB.Stream")
oStream.Type = 1 ' Binary
oStream.Open
oStream.LoadFromFile FilePath

For i = 1 To oStream.Size \ clChunkSize
Response.BinaryWrite oStream.Read(clChunkSize)
Next
If (oStream.Size Mod clChunkSize) <0 Then
Response.BinaryWrite oStream.Read(oStream.Size Mod
clChunkSize)
End If
oStream.Close

End Sub




so my question is which one is better and more efficient? in my case only
mobile phones used to download and i am not sure if copping files could
couse problem.



Anthony Jones
Guest
 
Posts: n/a
#2: Feb 13 '07

re: chopping file while sending it via asp response.binary write



".nLL" <noone@here.comwrote in message
news:IAqAh.268495$QY6.125845@fe1.news.blueyonder.c o.uk...
Quote:
hi everyone. i use asp to send files to users to prevent hotlinking and i
always used following code
>
>
>
Response.ContentType="video/3gpp"
response.addheader "Content-Disposition", "attachment;filename="&
file
Quote:
& ";"
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 1
objStream.LoadFromFile "c:\my.file"
Response.BinaryWrite objStream.Read
objStream.Close
Set objStream = Nothing
>
>
>
none of the files bigger than 4 mb. but today i have read read following
(couple posts below)
>
>
>
>
>
Sub SendFileToResponse(FilePath, FileName)
>
Const clChunkSize = 1048576 ' 1MB
>
Dim oStream, i
Response.Buffer = False
>
Response.ContentType = "application/octet-stream"
Response.AddHeader "Content-Disposition", _
"attachment; Filename=" & FileName
>
Set oStream = Server.CreateObject("ADODB.Stream")
oStream.Type = 1 ' Binary
oStream.Open
oStream.LoadFromFile FilePath
>
For i = 1 To oStream.Size \ clChunkSize
Response.BinaryWrite oStream.Read(clChunkSize)
Next
If (oStream.Size Mod clChunkSize) <0 Then
Response.BinaryWrite oStream.Read(oStream.Size Mod
clChunkSize)
End If
oStream.Close
>
End Sub
>
>
>
>
so my question is which one is better and more efficient? in my case only
mobile phones used to download and i am not sure if copping files could
couse problem.
>

The stick with your simpler solution. It's likely to be faster and is less
likely to go wrong. That is unless you do hit the buffer limit.



Closed Thread