使用ADODB.Stream显示PDF

时间:2014-02-26 20:15:31

标签: asp-classic

我正在努力更换主要使用PDF文件的系统,以便为用户提供月度报告。

我遇到的问题是能够阻止一个用户看到另一个用户的信息。例如,如果user1在www.mysite.com/user1/file.pdf上有一个文件,他们可以编辑www.mysite.com/user2/file.pdf的URL并查看user2的文件。

我试图解决这个问题的方法是禁用对用户文件夹的匿名访问(它是一个IIS服务器),这样就无法直接访问文件并让view_file.asp使用ADODB引入文件。流。虽然有些用户无法查看文件,但我遇到了问题。它似乎只是使用IE的人,但很难确定。

我基本上只需修复此功能即可在所有浏览器/配置中使用,或者找到另一种通过浏览器显示文件的方法。

Set adoStream = CreateObject("ADODB.Stream")
adoStream.Type = 1
adoStream.Open()

adoStream.LoadFromFile "C:/path-to-file/" & curUser & curDir

Response.Buffer = true
Response.CharSet = "UTF-8"
Response.Clear
Response.ContentType = "application/pdf"

Do While Not adoStream.eos
    Response.BinaryWrite adoStream.Read(1024 * 8)
    Response.Flush
Loop
Response.End()
adoStream.close
Set adoStream=nothing

0 个答案:

没有答案