ADO.NETの質問・雑談スレ2 (421レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
402: 2020/01/26(日)02:26 ID:BP0mZu6W(1/5) AAS
バイナリ型のデータの取得で質問があります
データベースでアクセスでフィールド型OLE オブジェクト型があり
そこにバイナリデータがあります。
具体的にはEXCELのファイルのバイナリが登録されています(これは直接登録)
そこからADO.NETでそのバイナリを読み出し
クライアントにダウンロードして開けたいと思っています。
プログラム
・・・・・・前半省略
while (reader.Read())//アクセスからデータをバイナリデータを読み込む
{
ExcelBinary = (Byte[])reader.GetValue(0);//EXCELのバイナリデータ(あらかじめ登録されている)
Response.AddHeader("Content-Disposition", "attachment;filename=" + "data.xlsx"); //ヘッダー
Response.ContentType = "application/msexcel";// MIMEコンテンツタイプを指定
Response.BinaryWrite(PhotoData);// HTTP出力ストリームにバイナリ文字の文字列を書き込む
Response.Flush();
Response.End();
これでいけるとおもうのですが確かにダウンロードしてEXCELがたちあがるのですが
ファイルが壊れているか拡張子が違うとメッセージが出て開けません
疑問点は何か足りない部分があるのでしょうか?
ちなみにアクセスでなくファイルのバスにEXCELデータを直接置いた場合はファイルがダウンロードされて
開けます。
さらにFsstreamで書き出して直接開けても同じこのがおこります。
EXCELやPDFはアクセスに登録してダウンロードして開けることはできないのでしょうか?
ご教授していただければ幸いです
403: 2020/01/26(日)02:26 ID:BP0mZu6W(2/5) AAS
バイナリ型のデータの取得で質問があります
データベースでアクセスでフィールド型OLE オブジェクト型があり
そこにバイナリデータがあります。
具体的にはEXCELのファイルのバイナリが登録されています(これは直接登録)
そこからADO.NETでそのバイナリを読み出し
クライアントにダウンロードして開けたいと思っています。
プログラム
・・・・・・前半省略
while (reader.Read())//アクセスからデータをバイナリデータを読み込む
{
ExcelBinary = (Byte[])reader.GetValue(0);//EXCELのバイナリデータ(あらかじめ登録されている)
Response.AddHeader("Content-Disposition", "attachment;filename=" + "data.xlsx"); //ヘッダー
Response.ContentType = "application/msexcel";// MIMEコンテンツタイプを指定
Response.BinaryWrite(PhotoData);// HTTP出力ストリームにバイナリ文字の文字列を書き込む
Response.Flush();
Response.End();
これでいけるとおもうのですが確かにダウンロードしてEXCELがたちあがるのですが
ファイルが壊れているか拡張子が違うとメッセージが出て開けません
疑問点は何か足りない部分があるのでしょうか?
ちなみにアクセスでなくファイルのバスにEXCELデータを直接置いた場合はファイルがダウンロードされて
開けます。
さらにFsstreamで書き出して直接開けても同じこのがおこります。
EXCELやPDFはアクセスに登録してダウンロードして開けることはできないのでしょうか?
ご教授していただければ幸いです
405: 2020/01/26(日)18:02 ID:BP0mZu6W(3/5) AAS
そうなんですか?
IISの設定なんているのですか?
Response.ContentType = "application/msexcel";// MIMEコンテンツタイプを指定
ではだめなんですか?
406: 2020/01/26(日)18:30 ID:BP0mZu6W(4/5) AAS
しかし、ダウンロードはできるのです。
そのファイルが開けないのです。(サポートされていない形式ですのエラーメッセージ)
サーバにファイルがある場合は普通にダウンロードできて開けるのです
アクセス、SQLServerにバイナリデータとして登録されている場合が
開けないのです。
408: 2020/01/26(日)20:39 ID:BP0mZu6W(5/5) AAS
バイナリはあらかじめ格納できているのです
それをサーバー側からダウンロードしてアプリを自動的に立ち上げ
(要はWebから自動的にPDFを開ける)のと同じようにしたいのです
PDF,EXCEL,WORDなどがバイナリとしてアクセスまたはSQLServerでダウンロード
して中身を見たいのです
Server.MapPath(string.Format(@"./File/{0}", "Test.bmp"));
のようにあらかじめファイルをディレクトリにおいたときは
Respnse.writeBainaryでうまくいきます
問題はSQLServer アクセスにバイナリとして格納したときはできないのかな?と
やっぱり、ディレクトリの位置だけでDBの登録してServer.MapPath
でダウンロードしかないのかなと。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 1.083s*