@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

EXCELダウンロード後のボタン処理について

1
投稿者投稿内容
kosuke
会議室デビュー日: 2005/06/10
投稿数: 1
投稿日時: 2005-06-10 17:21
いつも参考にさせて頂いてます。
今回、皆様のお知恵をお借りしたく書き込みさせて頂きました。
現在Win2k、ASP.NET(VB.NET)で開発を行っているのですが下記の内容で困っています。

内容は、Window.Openで開いた画面よりGrapeCityのActiveReportsを使い、
EXCELファイルを作成後サーバーに保存、その後Response.BinaryWriteで
ダウンロードを行いクライアントに保存しています。

と、ここまでは動いているのですがダウンロード完了後、画面の「閉じるボタン」
でWindow.Closeを実行するサブルーチンを呼び出そうとすると、約5秒程度の
待ちが入ってから「閉じるボタン」の処理に入ってきます。

ダウンロードをせずに「閉じるボタン」の処理をするとすぐに実行されるのですが、
ダウンロード実行後はかならず、5秒程度のタイムラグが発生しています。
ちなみに、5秒程度待った後は何事も無かったかの様に動いております。

色々ネット等で調べてみたのですが、同じ様な事例を見つける事ができず悩んでおります。
待ち時間さえ気にしなければいいのですが、そうもいかないので・・・・

ダウンロード時のソースを抜粋しておきますので、おかしな所があればご指導お願いいたします。


Dim ExFileName As String ' FILE NAME
Dim MyFileStream As FileStream
Dim FileSize As Long

' ここでEXCELファイルをサーバーへ保存

' Excelファイルのダウンロード
MyFileStream = New FileStream(ExFileName, FileMode.Open)
FileSize = MyFileStream.Length

Dim Buffer(CInt(FileSize)) As Byte

Response.ContentType = "application/x-download"
Response.AddHeader("content-disposition", "attachment;filename =" + HttpUtility.UrlEncode(ExFileName))

MyFileStream.Read(Buffer, 0, FileSize)
MyFileStream.Close()

Response.BinaryWrite(Buffer)

' テンポラリファイルの削除
If System.IO.File.Exists(ExFileName) = True Then
System.IO.File.Delete(ExFileName)
End If

Response.Flush()
Response.End()


以上です。よろしくお願いいたします。
1

スキルアップ/キャリアアップ(JOB@IT)