|
お世話になっております。 経験が浅いもので、質問させて頂きます。
Javaで画像データを分割してダウンロードをしており、 アプレットでHttpUrlConnectionを使用しています。 これまではJavaのver.6.21で問題無く挙動しておりまし たが、 ver7.21の端末で実行した際に、ダウンロードが失敗し ました。
内容としては、分割してダウンロード後にファイルを結 合し、 サーバ側のファイルサイズと一致チェックを行なってい ますが、そこでのエラーでした。 分割の方法ですが、計算によって5242880バイトごとに 区切り、 HttpUrlConnectionのsetRequestPropertyで"Range"を指 定しています。 例)conn.setRequestProperty("Range", "bytes=0- 5242879");
その際、ファイルサイズ"10241306"バイトの画像データ の場合、 1回目:Range Header = bytes=0-5242879 2回目:Range Header = bytes=5242880-10241306 となり、それぞれサイズをHttpUrlConnectionの getContentLengthで確認すると 1回目:5242880バイト 2回目:4998426バイト となるはずですが、 1回目:5242880バイト 2回目:5242880バイト となってしまっています。
HttpUrlConnectionのsetRequestPropertyで"Content- Length"を指定すればと思い、 設定してみたのですが、解消されません。 ちなみに、ループ処理内でHttpUrlConnectionのインス タンスを作成しているので、 再利用をしているわけではないと思われます。
ここからが質問内容です。 ?JavaのバージョンごとにHttpUrlConnectionの Content-Lengthが異なる、という事象について なにかご存知の方はいらっしゃいますでしょうか? ?HttpUrlConnectionのContent-Lengthを設定する際の メソッドは、 setRequestPropertyではないのでしょうか? (getRequestPropertyで"Content-Length"を指定した 結果、nullが返ってきました)
拙い文章、質問で恐縮ですが、どなたかご助力のほど、 よろしくお願い致します。
|