gpt4 book ai didi

c# - pdf呈现到asp.net网页导致静态标题

转载 作者:太空宇宙 更新时间:2023-11-03 11:42:54 24 4
gpt4 key购买 nike

在我使用以下代码将 pdf(存储为字节数组)呈现到 asp.net 网页时遇到一个小问题:

Response.ClearContent();
Response.AppendHeader("content-length", document.Length.ToString());
Response.ContentType = "application/pdf";
Response.BinaryWrite(document);
Response.Flush();
Response.Close();

这完全没有问题,但是为了呈现此 pdf(即返回字节数组),我们通过在 QueryString 中传递一些参数来调用 Web 服务。这就是问题所在。PDF 呈现后,它会将标题显示为页面的完整 url + 查询字符串。显然,出于安全原因,我们不希望用户掌握该信息。

有谁知道如何在 pdf 呈现后设置页面标题?我试过让标题在服务器端运行,但它没有任何效果。有趣的是,如果 pdf 渲染失败,或者数据方法事先失败,它会正确更改标题。它几乎就像一旦它点击 pdf 渲染它就会将标题更改回 url/querystring。

除此之外,我还检查了 Web 服务传回的 PDF 的标题,PDF 属性中存储的标题与页面标题栏上呈现的标题完全不同。

如有任何帮助,我们将不胜感激,
干杯,
亚当

最佳答案

您的 headblock 正在清除:

Response.ClearContent();

所以即使你在 <title>...</title> 中设置它,您永远不会将其发送给客户。

鉴于内容类型是 application/pdf浏览器不知道如何呈现标题,所以它呈现 URL。

模糊性不是一种安全形式,如果您依靠用户不知道 Url 来阻止他们再次下载文件,您需要重新考虑。借助网络检查工具,即使您对 Url 进行了混淆处理,他们也可以轻松查看他们请求的资源。

关于c# - pdf呈现到asp.net网页导致静态标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4242389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com