Asp Classic写入PDf并在打印时保留文件名

时间:2013-04-03 15:09:21

标签: asp-classic pdf-generation filenames content-type response-headers

我正在尝试将pdf文件写入浏览器,当客户端打印pdf时,发送到打印机的文件名是文件名。但是现在我得到了发送到浏览器“aspfile.asp”

的asp页面的名称

因为我在使用Response.ContentType = "application/pdf"时无法在页面中添加标题,所以我添加了一个执行server.Transfer的页面。

但每次代码传递时,Response.ContentType = "application/pdf"标题都会被删除。

所以这是我的代码: 第一页:

<html>
<head>
<title>
    <%= Request.QueryString("File") & ".PDF" %>
</title>
</head>
<body>

<%

Server.Transfer "loadfileAfter.asp"

%>
</body>
</html>

这是第二页(loadfileAfter.asp):

    Response.ContentType = "application/pdf"
    Response.AddHeader "content-disposition", "Filename=" & Request.QueryString("File") & ".PDF"
    Const adTypeBinary = 1


    strFilePath = "D:\" &  Request.QueryString("File") & ".PDF" 'This is the path to the file on disk. 

    Set objStream = Server.CreateObject("ADODB.Stream")
    objStream.Open
    objStream.Type = adTypeBinary
    objStream.LoadFromFile strFilePath

    Response.BinaryWrite objStream.Read

    objStream.Close
    Set objStream = Nothing

我认为这条线会有所帮助:

Response.AddHeader "content-disposition", "Filename=" & Request.QueryString("File") & ".PDF"

但它没有改变一件事。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

这个对我有用:
Response.AddHeader "content-disposition", "attachment; filename=""" & fileName & """"