Solved

ASP.net pdf file opening in debug mode but not on web

Posted on 2016-11-05
13
35 Views
Last Modified: 2016-11-07
Hi
I use the following VB.net code in my ASP.net web app to view a pdf file. It works in debug mode but not in the deployed site online

  Protected Sub btnView_Click(sender As Object, e As EventArgs) Handles btnView.Click
        Try
            Dim oSelectedFile As String
            If Me.ListBox1.SelectedItem.Text <> "" Then
                oSelectedFile = Me.ListBox1.SelectedItem.Text
            Else
                Exit Sub
            End If
            Response.Clear()
            'Dim filePath As String = "~/Uploads/GREAT.pdf"
            Dim filePath As String = "~/Uploads/" & oSelectedFile
            Response.ContentType = "application/pdf"
            Response.WriteFile(filePath)
        Catch ex As Exception
            'Response.Write(ex.Message)
            Me.lblErrorDeleting.Text = ex.Message & " hr556"
        End Try
    End Sub
0
Comment
Question by:murbro
  • 7
  • 6
13 Comments
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 41875304
>>It works in debug mode

and in release mode it does what ?  (Before jumping to conclusions that the version you use on the web site is working but the problem is with the web site you should test it first.)
0
 

Author Comment

by:murbro
ID: 41876723
In debug mode it opens the pfd
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 41876733
To repeat myself (because debug and release builds of code are not the same, and because you distribute a release build not a debug build):
and in release mode it does what ?
0
Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

 

Author Comment

by:murbro
ID: 41876742
This is ASP.net of course so by release mode if you mean deployed to the web then this mode doesn't work. Nothing happens
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 41876762
Please confirm you have the web config set to use the release mode (debug=false) otherwise you have a set of code that works and a different set of code running in a browser somewhere else which fails.  I'm just trying to rule out one possible source of the error.
0
 

Author Comment

by:murbro
ID: 41876767
Here's the markup in web config. Should debug=false here?

  <system.web>
    <httpHandlers>
      <add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        validate="false" />
    </httpHandlers>
    <authentication mode="None"/>
    <compilation debug="true" strict="false" explicit="true" targetFramework="4.5.2">
      <assemblies>
        <add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      </assemblies>
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 41876778
Set the debug to false.  (It should result in faster code because all the debugging is removed at compile time).  
In reality I'm expecting it to still fail BUT it might be the problem.


ps.
http://aspalliance.com/1341_The_Infamous_DebugTrue_Attribute_in_ASPNET
0
 

Author Comment

by:murbro
ID: 41876919
Hi. Thanks but unfortunately that didn't help
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 41876964
OK, that clears one potential problem out of the way.
Am I correct that you don't see any error message in the label?


Does this show what you expect in the (error) label in terms of the path, or nothing at all (which implies the click event isn't getting processed).

 Protected Sub btnView_Click(sender As Object, e As EventArgs) Handles btnView.Click
        Try
            Dim oSelectedFile As String
            If Me.ListBox1.SelectedItem.Text <> "" Then
                oSelectedFile = Me.ListBox1.SelectedItem.Text
            Else
                Exit Sub
            End If
            Response.Clear()
            'Dim filePath As String = "~/Uploads/GREAT.pdf"
            Dim filePath As String = "~/Uploads/" & oSelectedFile
Me.lblErrorDeleting.Text = filePath
            Response.ContentType = "application/pdf"
            Response.WriteFile(filePath)
        Catch ex As Exception
            'Response.Write(ex.Message)
            Me.lblErrorDeleting.Text = ex.Message & " hr556"
        End Try
    End Sub
0
 

Author Comment

by:murbro
ID: 41877067
It shows nothing at all
0
 
LVL 44

Accepted Solution

by:
AndyAinscow earned 500 total points
ID: 41877156
So the button click event isn't being called in that case.  Do other button click events work?
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 41877161
Or paranoia - just in case
Protected Sub btnView_Click(sender As Object, e As EventArgs) Handles btnView.Click
        Try
            Dim oSelectedFile As String
            If Me.ListBox1.SelectedItem.Text <> "" Then
                oSelectedFile = Me.ListBox1.SelectedItem.Text
            Else
Me.lblErrorDeleting.Text = "Nothing selected"
                Exit Sub
0
 

Author Closing Comment

by:murbro
ID: 41877475
Hi. Thanks very much for the direction. It turns out that one of the pdf files was causing the problem where the button click wasn't firing. I'm not sure how this works but your help got me there. Much appreciated!
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

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

International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

777 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