使用 ASP.NET 使用自定义文件名提供 PDF 文件

发布于 2024-11-04 19:59:03 字数 174 浏览 0 评论 0原文

我目前有一个页面 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

厌味 2024-11-11 19:59:03

恐怕这是客户端使用的浏览器的行为 - 有些会(正确地)使用内容处置标头,有些则不会......抱歉。

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.

蓝戈者 2024-11-11 19:59:03

您能否使用 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?

无人问我粥可暖 2024-11-11 19:59:03

我遇到了同样的问题,并让它使用“干净”的名称:

  • 没有空格,
  • 只有字母和数字

I had the same issue, and have it work with "clean" names :

  • no spaces
  • only letters and numbers
凉月流沐 2024-11-11 19:59:03

我通过链接到

/ReportPDF.aspx/d6bea1cb-c630-47d6-8735-db7b72713fde/ReportData.pdf

并使用 Request.PathInfo 变量来获取参数来解决它。

I solved it by linking to

/ReportPDF.aspx/d6bea1cb-c630-47d6-8735-db7b72713fde/ReportData.pdf

And using the Request.PathInfo variable to get the parameter.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文