- - PR -
Response.BinaryWriteメソッドで、IE上にWordのファイルを表示したい。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-09-24 18:07
現在、C#でWebアプリケーションを作成しており、サーバー上に保存されているWordのファイルを、ブラウザに表示する方法を試みているのですが、うまくいきません。
ソースは、以下のような内容です。 ---------------------- //ファイルの内容をバイト型の配列で取得 FileStream objFileStream = new FileStream("ファイルのフルパス名",FileMode.Open); long lngFileSize = objFileStream.Length; byte[] bytBuffer = new byte[(int)lngFileSize]; objFileStream.Read(bytBuffer,0,(int)lngFileSize); objFileStream.Close(); //Responseオブジェクトへの設定 Response.Clear(); Response.ContentType = "application/ms-word"; Response.ApendHeader("Content-Disposition","inline;filename=" + HttpUtility.UrlEncode("ファイルのフルパス名"); //ファイルを表示 Response.BinaryWrite(Buffer); -------------------- 以上です。 このコードを実行すると、Wordファイルのダウンロードのダイアログが表示されます。「開く」を選択すると、一応ブラウザ上にWordのファイルを表示できるのですが、このダイアログを出さないでブラウザに表示させたいのです。 一度、あるプロジェクトでこれとほぼ同じ方法で、実現していたのは覚えているのですが、あと何が足りないのかが解りません。 どうかよろしくお願いいたします。 | ||||
|
投稿日時: 2003-09-24 19:38
カレー落武者さん、こんばんは。
<object>タグを使うというのはどうでしょうか? 例: <html> <body> <object data="hoge.doc"> </object> </body> </html> IEのセキュリティゾーンがイントラネットに設定されているサイトで試したらダイアログなしで表示されました。 後はobjectのdata属性に、BinaryWriteするWebフォームを指定してうまくいくかどうかですが、これは試していません。 |
1