Display Large Images

C

cnote

I am trying to upload large images ( around 4 mb) from the server to show on
the client. Currently I'm using an http handler to do it and breaking it
into chunks sending it 1 mb at a time. Sometimes I'm getting errors, like
the page won't load. Any solutions on how this is done right? Thanks for
your help.
 
B

Bob Barrows [MVP]

cnote said:
I am trying to upload large images ( around 4 mb) from the server to
show on the client. Currently I'm using an http handler to do it and
breaking it into chunks sending it 1 mb at a time. Sometimes I'm
getting errors, like the page won't load. Any solutions on how this
is done right? Thanks for your help.

"http handler"?
Is this a classic asp or asp.net question?
If the latter:
There was no way for you to know it (except maybe by browsing through some
of the previous questions before posting yours - always a recommended
practice) , but this is a classic asp newsgroup. ASP.Net bears very little
resemblance to classic ASP so,
while you may be lucky enough to find a dotnet-knowledgeable person here who
can answer your question, you can eliminate the luck factor by posting your
question to a group where those dotnet-knowledgeable people hang out. I
suggest microsoft.public.dotnet.framework.aspnet.
 
W

Wade

This worked for me (I was running into the 4MB ceiling too) (Thanks to
Jason Withrow's contribution to ASP101
which helped me get started on downloading files)

Response.Buffer = True 'I didn't try "False"
Const BufSize = 2097152 '2MB "chunk"
Dim i
Dim objstream
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile strFilePath
strFileType = lcase(Right(strFileName, 4))

' Feel Free to Add Your Own Content-Types Here
Select Case strFileType
Case ".doc"
ContentType = "application/msword"
Case ".jpg", "jpeg"
ContentType = "image/jpeg"
:
: 'other cases
:
Case Else
ContentType = "application/octet-stream"

End Select
Response.Charset = "UTF-8"
Response.ContentType = ContentType
i = 1
Response.BinaryWrite objStream.Read(BufSize)

Response.Flush
while not objstream.EOS
objstream.Position = (BufSize * i)
Response.BinaryWrite objstream.Read(BufSize)
Response.flush
i = i + 1
wend
objStream.Close
Set objStream = Nothing
 

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,756
Messages
2,569,540
Members
45,025
Latest member
KetoRushACVFitness

Latest Threads

Top