.ashx TransmitFile pdf не загружается - PullRequest
0 голосов
/ 05 сентября 2018

У меня проблемы с отправкой PDF-документа моей страницей Ashx.

Вот что у меня есть для моего кода ответа. Обновление: добавлен целый ясень, чтобы ответить на некоторые ответы. `

<%@ WebHandler Language="VB" Class="deliverpdf" %>

Imports System
Imports System.Web
Imports System.Configuration
Imports System.IO
Imports System.Web.UI.WebControls
Imports System.Web.HttpContext
Imports Aspose.Words
Imports Aspose.Words.Reporting
Imports Aspose.Words.Saving




Public Class deliverpdf : Implements IHttpHandler, IRequiresSessionState

    Public Sub ProcessPDF(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest

        context.Response.ContentType = "application/pdf"




        context.Session("errormessage") = ""

        Try
            Dim dataDir As String = ConfigurationManager.AppSettings("ApplicationRoot") & "app_data/Contracts/Customers/"
            Dim CustId As String = myCStr(context.Request.QueryString("cstid"))
            Dim sid As Integer = myCInt(context.Request.QueryString("sid"))
            Dim fileName As String = myCStr(context.Request.QueryString("name"))

            dataDir = dataDir & CustId & "/" & sid & "/" & fileName

            context.Response.Clear()
            context.Response.ClearContent()

            context.Response.ContentType = "application/pdf"
            context.Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName)
            context.Response.AddHeader("Content-Length", dataDir.Length.ToString())
            context.Response.TransmitFile(dataDir)
            context.Response.End()


        Catch ex As Exception
            Dim dataDir As String = ConfigurationManager.AppSettings("ApplicationRoot") & "app_data/Contracts/Customers/"
            Dim CustId As String = myCStr(context.Request.QueryString("cstid"))
            Dim sid As Integer = myCInt(context.Request.QueryString("sid"))
            Dim fileName As String = myCStr(context.Request.QueryString("name"))

            context.Response.Clear()
            context.Session("errormessage") = ex.Message

        End Try

        context.Response.End()

    End Sub

    Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
        Get
            Return False
        End Get
    End Property

End Class`

Эта страница отправляет файл, однако, как только я загружаю файл, все 3 основных браузера говорят, что его не удалось загрузить.

Есть предложения?

...