urizakaです。
さて、JSP+SQL-Server2000でExcel等のファイルをバイナリデータとしてDB
のimageフィールドに登録して、それをダウンロードするというプログラムを
組んでおり、なんとかファイル名とそのバイナリ-データをアップロードすることはできるようになったのですが、その後、バイナリ-データをDBからダウンロードして、その後にどのようにすれば良いのかが分かりません。
バイナリ-データをDBから検索して持ってきて、ブラウザー上でそのファイルが展開されるようにしていのですが…(よくPDFのサイトを開くと、自動的にPDFが展開されるように)
バイナリ-データにファイル名とそのファイルのタイプを与えてやれば良いような気もするのですが、それをどうやって与えてやればいいのかも皆目見当がつきません。すみませんが、ご存知の方がいらっしゃったら教えてください。
宜しくお願いします。
No.1
- 回答日時:
私はServlet+OracleDBで経験がありますが、ずいぶん前の話で大まかなことしか覚えていません。
しかし参考になるかもしれないのでお伝えします。OracleDBにBLOBで入っているイメージをInputStreamで取り出しそのデータをServletのOutputStreamに書き込んだら出来ました。ただそのときcontent-typeなどの設定もした憶えがありますが、どのように設定したかは憶えていません。Excelもバイナリなら同じ方法でcontent-typeをExcelに定義されているものにすればいいのではないでしょうか?Servletでの話ですが。
No.2
- 回答日時:
すみません。
まとまりなくて。また少し思い出しました。前回答に加えファイル名をresponseに設定した憶えがあります。うる憶えですみません。
urizakaです
ありがとうございます、おかげでなんとかできました。
しかしながら、このDBを使う方法ですが1MBぐらいまでならともかく、それ
以上の容量になると共有フォルダを使う方法に比べて非常にパフォーマンスが
悪いですね。
私のプログラムの書き方が悪いだけかもしれませんが…
imamuさんがプログラミングした時はどうでしたか?
それでは。
No.3ベストアンサー
- 回答日時:
かなり昔にやったのでうろ覚えですが...
1.コンテントタイプの指定(Download だけならapplication/octet-streamでもいいかも)
response.setContentType(コンテントタイプ);
2.ファイルサイズの指定
response.setContentLength(ファイルサイズ);
3.ファイル名の指定
response.setHeader("Content-Disposition", "attachment; filename=\" +
ファイル名 + "\"");
response.setHeader("Content-Disposition", "inline; filename=\" +
ファイル名 + "\"");
たしか昔attachmentかinlineかで悩んだ記憶があって、どっちだったか思い出せません。
すいませんがこれで確かめてみて下さい。
urizakaです
回答ありがとうございます。
色々試してみて何とかできました。
しかしながら、このDBにデータを収める方法ってあまりパフォーマンス的によくないですね。アップロードはともかく、ダウンロードで共有フォルダを使う方法と比べていい結果が出ませんね…私のプログラムの仕方が悪いのかもしれませんが。
以前、同じ方法を行われたということですが、akinori_sさんの時はパフォーマンス的にはどうでしたか?
それでは
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(IT・Webサービス) WPからダウンロードしたファイル名を指定したい 2 2022/04/08 08:31
- その他(ソフトウェア) ダウンロードしたファイルの「種類」が「Windowsmediaplayer」に変わってしまい、開くこ 2 2023/07/03 21:45
- WordPress(ワードプレス) [BuddyPress]試したいのですが! 3 2022/06/01 13:36
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
- PostgreSQL ポストグレにあるExcelファイルを開くには 1 2022/12/13 18:07
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- PDF パソコンからUSBメモリにPDFを移したらファイルを開けない 2 2022/08/22 11:42
- 法人税 電子帳簿保存法について 1 2022/04/07 11:17
- C言語・C++・C# C言語の質問です。バイナリ形式で保存されたWindows Bitmap形式の画像ファイルを読み込み、 3 2023/07/19 14:58
- PDF PDFファイルプログラム。ファイル名の昇順にPDFに収録されないのは何が原因か? 3 2023/07/28 08:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ページ読み込み時に自動的にsub...
-
EXCEL VBAでテキストファイルの...
-
DXFファイル用クラスライブラリ...
-
バッファとは何ですか
-
エラー:ストリームの終わりを...
-
バイナリファイル(画像等)デ...
-
【python】Excelファイルを読み...
-
バイナリエディタのつかいかた
-
ファイル読み込みエラーになる。
-
地熱発電などでいう「バイナリ...
-
エクセルVBA 2千万行のCSVファ...
-
ファイルをセーブする時のfopen...
-
バイナリファイルの検索について
-
C言語の質問です。バイナリ形...
-
VB5.0 SP3にてEXCE...
-
EXCEL VBAで、バイナリデータの...
-
画素値取得について
-
Paiza Cloudです。学籍番号と氏...
-
Paiza Cloudです。 どうやれば...
-
C言語初心者の質問失礼します。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッファとは何ですか
-
Microsoft VBAで2GBを超えるフ...
-
EXCEL VBAでテキストファイルの...
-
ページ読み込み時に自動的にsub...
-
エクセルVBA 2千万行のCSVファ...
-
VBA バイナリ―から文字列にす...
-
エラー:ストリームの終わりを...
-
入力ファイルをバイナリにする利点
-
バイナリエディタのつかいかた
-
MacからWinにファイルを添付す...
-
EOF
-
【python】Excelファイルを読み...
-
C言語の質問です。バイナリ形...
-
画像の保存方法。
-
テキストデータをSQLServerに取...
-
バイナリファイルの比較につい...
-
bitmap画像の保存がうまくいき...
-
なぜデータの整合性を確認する...
-
C言語とシリアル通信の送受信...
-
【Teraterm】filewritelnについて
おすすめ情報