1

結果セットを Web フォームに表示しています。ユーザーが利用できるオプションの 1 つは、結果を .xls スプレッドシートとしてダウンロードすることです。この古典的なASPコードを更新して、ダウンロードページをiPadに保存し、ユーザーが必要に応じてQuickOfficeなどで表示できるようにしようとしています.

これまでのコードは次のとおりです。

Response.Clear()
Response.Buffer = true
Response.AddHeader "Content-Disposition", "attachment;filename=results.xls"
Response.ContentType = "application/octet-stream"

次に、ページが実行され、すべてが生成された後に実行されます。

response.flush()
response.clear()

問題は、ダイアログを介してコンテンツを保存できるようにするのではなく、コンテンツが元の .asp ページ ヘッダーと共にブラウザに表示されることです。これを停止するにはどうすればよいですか?

編集:

私はこの方法を試しています:

Response.Buffer = true
Response.Clear()
Response.ContentType = "application/octet-stream"
Response.AddHeader "Content-Disposition", "attachment;filename=ConversionResult.xls;"

'and i send the file using the stream as
Set adoStream = CreateObject("ADODB.Stream") 
adoStream.Open() 
adoStream.Type = 1 
adoStream.LoadFromFile(Server.MapPath("xls/streamtest.xlsx")) 
Response.BinaryWrite adoStream.Read() 
adoStream.Close 
Set adoStream = Nothing
response.Flush
response.end

ユーザーはファイル構造に対する権限を持っていますが、ブラウザが回転するだけで何も起こりません。まず、なんらかの方法で自分を弁護させてください... 私は iPad を所有しておらず、利用できる iPad で「遊んで」いる時間はほんのわずかです。私も、ファイルをダウンロードしようとしたときに「名前を付けて保存」または同様のダイアログ ボックスを見たことがなく、iPad の機能について実際に読んでいる最中です。

サファリ ダウンロード マネージャー プラグインがありますが、これが壊れた iPad を投獄する場合にのみ利用できるかどうかを判断しようとしています。

ありがとう。

4

1 に答える 1

0

FSOを使用して一時ファイルにストリーミングしてからリンクする必要があると思います。そうすれば、Safari (iPad) に保存オプションが表示されるはずです。

于 2012-06-18T09:20:14.553 に答える