使用 ASP.NET 使用自定义文件名提供 PDF 文件
我目前有一个页面 ReportPDF.aspx,它创建一个 PDF 并将其写入响应。我使用 Content-Disposition 标头设置文件名。但是,如果有人在链接上使用“链接另存为...”,它仍会将文件另存为 ReportPDF.aspx。
如何使用 Report.pdf 作为文件名,同时仍然动态创建 PDF?
I currently have a page ReportPDF.aspx which creates a PDF and writes it to the response. I set the filename using the Content-Disposition header. However, if someone uses "Save link as..." on the link, it still saves the file as ReportPDF.aspx.
How can I use Report.pdf as filename, while still dynamically creating the PDF?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
恐怕这是客户端使用的浏览器的行为 - 有些会(正确地)使用内容处置标头,有些则不会......抱歉。
I'm afraid that's a behaviour of the browser that the client is using - some will (correctly) use the content-disposition header and some won't... sorry.
您能否使用 URL 重写,使 URL 实际上是 Report.pdf,然后在服务器端重写为 ReportPDF.aspx?
Could you use URL rewriting so that the URL is actually Report.pdf, which is then rewritten to ReportPDF.aspx server-side?
我遇到了同样的问题,并让它使用“干净”的名称:
I had the same issue, and have it work with "clean" names :
我通过链接到
并使用
Request.PathInfo
变量来获取参数来解决它。I solved it by linking to
And using the
Request.PathInfo
variable to get the parameter.