以下のファイルを Download.asp として保存し、必要に応じてダウンロードするファイルを転送します。形式: Download.asp?FileName=ダウンロードするファイルの名前
次のようにコードをコピーします。
薄暗い流れ
ディムコンテンツ
ディムファイル名
ディムファイル拡張子
Const adTypeBinary = 1
ファイル名 = Request.QueryString(ファイル名)
if ファイル名 = then
Response.Write 無効なファイル名です。
応答.終了
次の場合に終了
'以下はダウンロードしたくないファイルです
FileExt = Mid(ファイル名, InStrRev(ファイル名, .) + 1)
ケースを選択 UCase(FileExt)
ケース ASP、ASA、ASPX、ASAX、MDB
Response.Write は保護されたファイルなのでダウンロードできません。
応答.終了
エンドセレクト
'このファイルをダウンロード
応答.クリア
Response.ContentType = アプリケーション/オクテットストリーム
Response.AddHeader コンテンツの配置、添付ファイル名 = & ファイル名;
ストリーム = サーバー.CreateObject(ADODB.Stream) を設定します。
Stream.Type = adTypeBinary
ストリーム.オープン
Stream.LoadFromFile Server.MapPath(ファイル名)
非ストリーム中.EOS
Response.BinaryWrite Stream.Read(1024 * 64)
ウェン
ストリーム.クローズ
ストリーム = なしを設定
レスポンス.フラッシュ
応答.終了