
urizakaです。
さて、JSP+SQL-Server2000でExcel等のファイルをバイナリデータとしてDB
のimageフィールドに登録して、それをダウンロードするというプログラムを
組んでおり、なんとかファイル名とそのバイナリ-データをアップロードすることはできるようになったのですが、その後、バイナリ-データをDBからダウンロードして、その後にどのようにすれば良いのかが分かりません。
バイナリ-データをDBから検索して持ってきて、ブラウザー上でそのファイルが展開されるようにしていのですが…(よくPDFのサイトを開くと、自動的にPDFが展開されるように)
バイナリ-データにファイル名とそのファイルのタイプを与えてやれば良いような気もするのですが、それをどうやって与えてやればいいのかも皆目見当がつきません。すみませんが、ご存知の方がいらっしゃったら教えてください。
宜しくお願いします。
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さんの時はパフォーマンス的にはどうでしたか?
それでは
No.2
- 回答日時:
すみません。
まとまりなくて。また少し思い出しました。前回答に加えファイル名をresponseに設定した憶えがあります。うる憶えですみません。
urizakaです
ありがとうございます、おかげでなんとかできました。
しかしながら、このDBを使う方法ですが1MBぐらいまでならともかく、それ
以上の容量になると共有フォルダを使う方法に比べて非常にパフォーマンスが
悪いですね。
私のプログラムの書き方が悪いだけかもしれませんが…
imamuさんがプログラミングした時はどうでしたか?
それでは。
No.1
- 回答日時:
私はServlet+OracleDBで経験がありますが、ずいぶん前の話で大まかなことしか覚えていません。
しかし参考になるかもしれないのでお伝えします。OracleDBにBLOBで入っているイメージをInputStreamで取り出しそのデータをServletのOutputStreamに書き込んだら出来ました。ただそのときcontent-typeなどの設定もした憶えがありますが、どのように設定したかは憶えていません。Excelもバイナリなら同じ方法でcontent-typeをExcelに定義されているものにすればいいのではないでしょうか?Servletでの話ですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッファとは何ですか
-
エクセルVBA 2千万行のCSVファ...
-
EOF
-
【python】Excelファイルを読み...
-
Javaでのエンディアン変換
-
MacからWinにファイルを添付す...
-
VBA バイナリ―から文字列にす...
-
RS-232Cで接続したPC間のファイ...
-
BMP 仕様
-
BMP画像の画像データ本体をテキ...
-
【Teraterm】filewritelnについて
-
エラー:ストリームの終わりを...
-
バイナリ形式のXMLファイルを読...
-
VBAを使って、一部バイナリデー...
-
ページ読み込み時に自動的にsub...
-
COBOL で組まれたシステムのデ...
-
テキストデータをSQLServerに取...
-
Microsoft VBAで2GBを超えるフ...
-
C言語とシリアル通信の送受信...
-
vba ActiveSheet.pasteを使った...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッファとは何ですか
-
Microsoft VBAで2GBを超えるフ...
-
VBA バイナリ―から文字列にす...
-
入力ファイルをバイナリにする利点
-
ページ読み込み時に自動的にsub...
-
EOF
-
EXCEL VBAでテキストファイルの...
-
エラー:ストリームの終わりを...
-
エクセルVBA 2千万行のCSVファ...
-
MacからWinにファイルを添付す...
-
【Teraterm】filewritelnについて
-
24ビットのWaveデータの中身に...
-
バイナリ形式のXMLファイルを読...
-
【MFC】CFileでSeekした位置か...
-
バイナリーデータの一部データ...
-
テキストデータをバイナリデー...
-
EXCEL VBAで、バイナリデータの...
-
C言語の質問です。バイナリ形...
-
プログラミング初心者です。プ...
-
HDDのバイナリイメージの取得方...
おすすめ情報