出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

[5311] ファイルのダウンロード中に待ち受け画面を表示したい
投稿者:おくらさん 2005/10/03 19:00:57
教えてくださいませ。
サーバにあるPDFファイルをダウンロードさせようとしています。
PDFファイルは開かずに強制的にダウンロードするためにバイナリデータとして読み込みこんでいます。
いろいろサンプルを調べて大容量ファイルでも対応できるようにBASP21を使用するようにしました。

ダウンロード最中に待ち受け画面を表示したいのですが、どうしたらよいでしょうか?

現在のサンプルをは以下となっています。2つASPを用意しています。
 001.asp ダウンロード対象を指定するASP
 002.asp ダウンロードのASP

001は002をResponse.Redirectしてだけで画面は変わりません。001に待ち受け画面を入れようとしても、リロードされないので、待ち受けできません・・・
002に待ち受け画面等の処理を入れると、ダウンロードすらされなくなってしまいます・・・

【001.asp】
<%
Option Explicit
Response.Expires = 0
Call Response.AddHeader("Cache-Control", "No-Cache")
Dim pdffile
If Request.QueryString("mode")<>"" Then
pdfFile = Request.QueryString("pdfname")
Response.Redirect "002.ASP?FILE=" & "c:\" & pdfFile
Response.End
End If
%>
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS">
<TITLE>PDFファイル一覧</TITLE>
</HEAD>
<body>
<form name="form1" method="post">
<CENTER>
<TABLE border="1" cellPadding="2" cellSpacing="0">
<TR>
<TH width=" 75" nowrap>ダウンロード</TH>
<TH width="300" nowrap>PDF名</TH>
</TR>
<TR>
<TD width=" 75" nowrap align="center"><INPUT TYPE=BUTTON TABINDEX=10 NAME=SUBMIT VALUE="1" CLASS=BTW30 onclick="return BTN_SEC('a.pdf')" ></TD>
<TD width="300" nowrap align="left">a.pdf</TD>
</TR>
<TR>
<TD width=" 75" nowrap align="center"><INPUT TYPE=BUTTON TABINDEX=10 NAME=SUBMIT VALUE="2" CLASS=BTW30 onclick="return BTN_SEC('b.pdf')" ></TD>
<TD width="300" nowrap align="left">b.pdf</TD>
</TR>
</TABLE>
</CENTER>
</FORM>
</body>
</html>
<SCRIPT LANGUAGE="javascript">
<!--
function BTN_SEC(idx) {
var urlstr;
urlstr = "001.asp?mode=0"&pdfname=" + idx
location.href = urlstr;
return true;
}
//-->
</SCRIPT>

【002.asp】
<%@ LANGUAGE = VBSCRIPT %>
<%
Option Explicit
Dim dat
Dim objBasp
Dim fname
Dim flfname
Dim bydata

flfname = Request("FILE")

'ファイル名の抜き出し処理
If InStr(flfname,"/") > 0 Then
fname = Split(flfname,"/")(ubound(Split(flfname,"/")))
ElseIf InStr(flfname,"\") > 0 Then
fname = Split(flfname,"\")(ubound(Split(flfname,"\")))
Else
fname = flfname
End If

Response.ContentType = "application/octet-stream;name=" & fname
Response.AddHeader "Content-Disposition","attachment;filename=" & fname

Set objBasp = Server.CreateObject("Basp21")
bydata = objBasp.BinaryRead(Server.MapPath(flfname))
Set objBasp = Nothing
Response.AddHeader "Content-Length", ubound(bydata) + 1
Response.BinaryWrite bydata

%>



ファイルのダウンロード中に待ち受け画面を表示したい   おくらさん [2005/10/03 19:00:57] [5311]
  Re:ファイルのダウンロード中に待ち受け画面を表示したい   YasNet(管理人)さん [2005/10/04 9:04:03] [5312]
    Re:ファイルのダウンロード中に待ち受け画面を表示したい   おくらさん [2005/10/04 9:33:52] [5313]
      Re:ファイルのダウンロード中に待ち受け画面を表示したい   YasNet(管理人)さん [2005/10/04 17:49:18] [5316]


TreeBBS For ASP V.0.1.3
Program By YasNet