[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

Response.ContentType = "application/pdf"

Posted on 2004-08-21
16
Medium Priority
?
120,564 Views
Last Modified: 2011-08-18
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?
0
Comment
Question by:KingJosh
16 Comments
 
LVL 36

Expert Comment

by:Zyloch
ID: 11862409
Hi

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

Regards,
Zyloch
0
 

Author Comment

by:KingJosh
ID: 11862473
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
 
LVL 20

Expert Comment

by:ihenry
ID: 11871154
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
Free Backup Tool for VMware and Hyper-V

Restore full virtual machine or individual guest files from 19 common file systems directly from the backup file. Schedule VM backups with PowerShell scripts. Set desired time, lean back and let the script to notify you via email upon completion.  

 

Author Comment

by:KingJosh
ID: 11872144
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
 
LVL 20

Expert Comment

by:ihenry
ID: 11872202
oops.. I forgot something..

remove this line,
Response.BinaryWrite(binaryData)

it should works, I have tested it.
0
 

Author Comment

by:KingJosh
ID: 11872312
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
 
LVL 20

Accepted Solution

by:
ihenry earned 1000 total points
ID: 11872421
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
 
LVL 20

Expert Comment

by:ihenry
ID: 11872457
if you are still having the same problem after using the code from my previous comment, can you post more code here?
0
 

Author Comment

by:KingJosh
ID: 11872778
I don't understand what the difference is, but it works now!  Thanks - J
0
 

Author Comment

by:KingJosh
ID: 11891826
I'm having a new problem with this...If anyone wants a quick 250 points, see question Q_21106095.html.
0
 

Expert Comment

by:ESH
ID: 11897452
Dear? Sir:
You post to refer an question (Q_21106095.html.) which exists no anymore.  Prehaps, made deleted??!@?

As I am,
Vikläs
0
 

Author Comment

by:KingJosh
ID: 11902137
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
 

Expert Comment

by:madpuppy
ID: 11947649


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
 

Author Comment

by:KingJosh
ID: 11948531
Sorry...I never used Cold Fusion...
0
 

Expert Comment

by:papaflo
ID: 12195851
how do you do this in the old ASP or in VB 6?
0
 

Author Comment

by:KingJosh
ID: 12286005
The accepted answer should work for ASP as well.  
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When setting up new project requests for our site, one of the most powerful tools our team has available to use is Axure (http://www.axure.com/). It’s a tool for creating software and web prototypes that can function and interact as if it were the a…
Originally, this post was published on Monitis Blog, you can check it here . It goes without saying that technology has transformed society and the very nature of how we live, work, and communicate in ways that would’ve been incomprehensible 5 ye…
The purpose of this video is to demonstrate how to make a WordPress Site faster and smaller in size by cleaning up the database. This will be demonstrated using a Windows 8 PC. Plugin WP Optimize will be used. Go to your WordPress login page. T…
The purpose of this video is to demonstrate how to insert an Iframe into WordPress. This will be demonstrated using a Windows 8 PC. Go to your WordPress login page. This will look like the following: mywebsite.com/wp-login.php : Open Page or Post…
Suggested Courses

834 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question