.net - 隐藏链接 url

标签 .net

请原谅我的无知。我正在寻找正确方向的一点。

我有一个包含一些(pdf)下载链接的页面。
如果我单击该链接,将在新页面中打开一个 pdf。
我可以看到 pdf 位于服务器上的文件夹。
如果我猜测同一文件夹中的其他文件名,也许我会很幸运。
有些文件是私有(private)的,所以我不希望用户从 url 中获得提示。
我怎样才能掩盖这些信息?
我们在后端运行 .net 2。我可以调用一个方法并打开文件吗?

任何帮助表示赞赏。我不确定要搜索什么才能开始。

谢谢

我们有一个 .Net 2 后端。

最佳答案

您可以将每个 PDF 文件与数据库中的 guid 相关联,然后您可以创建一个页面,DownloadPdf.aspx,并将 guid 传递给它以在文件系统上找到正确的文件,并呈现它:

Response.Clear();
Response.ContentType = "application/pdf";
Response.WriteFile(physicalPathToFile);
Response.End();

编辑

如果您想让用户能够下载 pdf,您可以在 Response.End 之前添加以下行:
Response.AddHeader("content-disposition", "attachment; filename=" + filename);

其中 filename 可以是物理文件的非晦涩名称(或您想给它的任何名称)。

关于.net - 隐藏链接 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1104141/

相关文章:

c# - 从解决方案生成类依赖图的任何工具

.net - 如果服务合约中未使用某个类型,如何强制 WCF 将类型放入客户端代理中?

c# - 如何查询子表值

c# - 在同一进程中混合使用 .NET 3.5 和 4/4.5 程序集

c# - 满足条件时从列表中删除项目

c# - 什么是NullReferenceException,如何解决?

c# - 确定图像整体亮度

c# - .NET framework 如何为 OutOfMemoryException 分配内存?

c# - 使用 Microsoft Unity 进行异步/等待

c# - 这个 ToArray() 实现如何更优化?