Response.ContentType = "application/pdf"

I am trying to display a PDF file (which I am being passed from a web service as a binary stream) in a browser, but I am being prompted to save the file instead.  I don't want the user to be prompted; I just want the PDF to be displayed.  Here is the code:

            Dim binaryData() As Byte

            binarydata = GetDataHere()
            Response.ContentType = "application/pdf"
            Response.BinaryWrite(binaryData)
            Response.End()
           
I also tried adding Response.Flush() and Response.Close() just for good measure, but it didn't help.

I'm using ASP.NET.  Any ideas?
KingJoshAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
ihenryConnect With a Mentor Commented:
I simulate the binary data using this code,

Dim MyFileStream As FileStream
Dim FileSize As Long

MyFileStream = New FileStream(filePath, FileMode.Open)
FileSize = MyFileStream.Length

Dim Buffer(CInt(FileSize)) As Byte
MyFileStream.Read(Buffer, 0, CInt(FileSize))
MyFileStream.Close()

Response.ContentType = "application/pdf"
Response.OutputStream.Write(Buffer, 0, FileSize)
Response.Flush()
Response.Close()

And this is working find in my machine.
0
 
ZylochCommented:
Hi

It could be because of the Response.ContentType = "application/pdf". Try commenting that out or changing it to text/html.

Regards,
Zyloch
0
 
KingJoshAuthor Commented:
I tried both commenting out that line and replacing it but both times I was prompted to save the file.  Does it make a difference that GetDataHere returns a regular STRING, which I then convert (using System.Convert.FromBase64String)?  When I write out the converted bytes to a file then response.redirect to that file it works fine...I just don't want to have to write out the file every time...
0
Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

 
ihenryCommented:
try this,

Dim binaryData() As Byte
binarydata = GetDataHere()
Response.ContentType = "application/pdf"
Response.OutputStream.Write(binaryData, 0, FileSize)
Response.BinaryWrite(binaryData)
Response.End()


HTH
Henry
0
 
KingJoshAuthor Commented:
Same results...I added the code:
            Response.ContentType = "application/pdf"
            Response.OutputStream.Write(binaryData, 0, binaryData.Length)
            Response.BinaryWrite(binaryData)
            Response.End()

(I used binarydata.length for the file size)

First it choked on the Response.End ("Thread was being aborted."), but now it's just prompting me to save the results...
0
 
ihenryCommented:
oops.. I forgot something..

remove this line,
Response.BinaryWrite(binaryData)

it should works, I have tested it.
0
 
KingJoshAuthor Commented:
Sorry...Still getting the prompt.  It's weird...When I take that binaryData and convert it into a regular string, then create a file on the server, I can response.redirect to it with no problem...
0
 
ihenryCommented:
if you are still having the same problem after using the code from my previous comment, can you post more code here?
0
 
KingJoshAuthor Commented:
I don't understand what the difference is, but it works now!  Thanks - J
0
 
KingJoshAuthor Commented:
I'm having a new problem with this...If anyone wants a quick 250 points, see question Q_21106095.html.
0
 
ESHCommented:
Dear? Sir:
You post to refer an question (Q_21106095.html.) which exists no anymore.  Prehaps, made deleted??!@?

As I am,
Vikläs
0
 
KingJoshAuthor Commented:
That is correct, ESH.  I had problems posting the question (it wasn't showing up in the searches, etc." so I deleted it.  I think there's an issue with the length of the question being posted...Thank you anyway for your interest.
0
 
madpuppyCommented:


I really need to do that same thing in COLD FUSION CFM if you have any help for me....

http://www.experts-exchange.com/Web/WebDevSoftware/ColdFusion/Q_21113411.html
0
 
KingJoshAuthor Commented:
Sorry...I never used Cold Fusion...
0
 
papafloCommented:
how do you do this in the old ASP or in VB 6?
0
 
KingJoshAuthor Commented:
The accepted answer should work for ASP as well.  
0
All Courses

From novice to tech pro — start learning today.