我们托管客户将登录并查看的在线报告。报告是ASP页面从SQL Server数据库中提取必要的数字。客户端的访问详细信息也由SQL Server中的表管理。
过去,我们有一个或多个客户可能还想从在线报告中访问的PDF或其他文件。这些只是上传到ASP文件夹中的子文件夹,并链接到相关的ASP页面。
如果我想保护这些文件以确保尝试访问它们的用户已登录 - 有没有办法执行此操作?我在想这个文件必须存储在数据库中。其他人如何管理这个?
答案 0 :(得分:3)
将PDF放入数据库是不必要的。而是将PDF存储在Web文件夹之外的位置。远离公共访问。在数据库中为具有ID号的每个PDF的位置创建记录。假设您已经为用户准备了一个身份验证系统,请创建另一个表,该表将userid链接到他们有权访问的pdf的recordid。从那里可以轻松创建一个页面,该页面根据此访问表检查凭据,打开db提供的文件位置并响应二进制文件的内容。你可以找到几个分散在网络上的例子。然而,ASP经典有这种烦人的习惯,即在传输它时将整个文件存储在ram中,这就像你不相信的EATS资源一样。如果可能的话,我建议使用ASP.Net脚本。代码也更容易
Server.TransferFile()