-1

.NetWebサイトを運営しています。docrootはC:ドライブ上にあり、システムはE:ドライブ上のフォルダーにPDFを生成します。ウェブサイトにPDFへのリンクが欲しいのですが。E:ドライブはHTTPドライブではありませんが、単なるWindowsドライブです。

  1. PDFにリンクする簡単な方法はありますか、それともすべてをCのdocrootに移動する必要がありますか?
  2. また、E:ドライブとフォルダーをハッカーから保護する必要があります。

シンプルで安全な解決策を探しています。

更新:私はこの解決策を見つけました。契約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
4

1 に答える 1

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();
于 2013-03-20T19:12:25.690 に答える