我正在运行一个.Net网站。 docroot位于C:驱动器上,系统生成PDF到E:驱动器上的文件夹。我希望在我的网站上有PDF链接。 E:驱动器不是HTTP驱动器,它只是一个Windows驱动器。
我正在寻找一个简单,安全的解决方案。
更新:我找到了这个解决方案。我传递合同ID。 PDF的名称基于合同ID。此代码在我的浏览器中打开PDF。
strPDF0="S" & getFormatwith0(cint(ContractID),3) & ".PDF"
strPDF="E:\FTProot\docs\" & strPDF0
Set FSOobj = Server.CreateObject("Scripting.FileSystemObject")
if FSOobj.FileExists(strPDF) Then
Response.ContentType = "application/pdf"
'Set file name
Response.AddHeader "Content-Disposition", "inline; filename=" & strPDF0
Set oFileStream = Server.CreateObject("ADODB.Stream")
oFileStream.Open
oFileStream.Type = 1 'Binary
oFileStream.LoadFromFile strPDF
Response.BinaryWrite(oFileStream.Read)
oFileStream.Close
Set oFileStream= Nothing
Else
Response.Write "Contract does not exist"
End if
Set FSOobj = Nothing
答案 0 :(得分:0)
您无法将文件作为链接发送,因为用户无法访问e:\myfolder\
但是,您可以将文件写为响应,如下所示。请确保您设置了对e:\myfolder\
HttpResponse response = HttpContext.Current.Response;
response.ContentType = "application/pdf";
response.AddHeader("Content-Disposition", "attachment; filename=file.pdf");
response.WriteFile("e:\myfolder\file.pdf");
response.End();