1

ユーザーにファイルのダウンロードを強制したい。私のウェブサイトのフォルダ パスはD:\websites\domain\ 、ファイル パスはE:\folder\file.bak

ASP-VBScript

<%

   Dim Stream
   Dim Contents
   Dim FileName
   FileName = "E:\db\A101.bak"
   Response.ContentType = "application/octet-stream"
   Response.AddHeader "content-disposition", "attachment; filename=" & FileName
   Set Stream = server.CreateObject("ADODB.Stream")
   Stream.Open
   Stream.LoadFromFile Server.MapPath(FileName)
   Contents = Stream.ReadText
   Response.BinaryWrite Contents
   Stream.Close
   Set Stream = Nothing

%>

ファイルが私のウェブサイトフォルダー内にある場合は完全に機能しますが、パス E:\db\A101.bak を使用するとエラーが発生します File not Found. セキュリティ上の理由により、Web サイト フォルダー内のファイルを移動できません。助けて

4

1 に答える 1

2

物理パスはすでにわかっているので、Server.MapPathメソッドは必要ありません。(このメソッドは通常、仮想パスを物理パスに変換するために使用されます)Server.MapPathメソッドは、Webサイトの構造外のパスでは機能しない可能性があります...

だから、使ってみてください

Stream.LoadFromFile FileName
于 2012-10-08T08:14:36.163 に答える