我的ashx页面发送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种主要的浏览器都说该文件无法加载。
有什么建议吗?