0

ファイルのリンクを含む単純なphpページが開き、Androidラッパーからファイルのダウンロード機能を実装したという点で、ハイブリッドアプリケーションを使用しています。

そのため、ユーザーの利便性のために、ファイルのダウンロード中にダウンロードの長さと進行状況を表示しています。これは、アプリケーション サーバーが content-length ヘッダーを設定してデバイスにサイズを渡すためですが、私が直面している問題は驚くべきものです。ファイルの長さは、Android 2.2 で正常に機能しています。私は正しいコンテンツ ヘッダーを取得していますが、上記の Android 2.3 では小さなファイルのコンテンツの長さを取得していますが、大きなファイルの場合はヘッダー フィールドを取得していません。

con.getHeaderField("content-length");

上記の Android 2.3 の場合は null を返します。

2.3 を超えるユーザー エージェントのサイズに制限はありますか? 2.2 で正常に動作している場合は、サーバー エンドに問題がないことを意味するため、デバイス ユーザー エージェントのみの問題です。

アップデート

さまざまなサイズのファイルで試してみましたが、上記の Android 2.3 でも 60KB まで問題なく動作しています。

4

1 に答える 1

0

クライアントがファイルをチャンクしているようです。次のヘッダーの存在を確認してください。

Transfer-Encoding: chunked

それが存在する場合、リクエストはチャンク化され、Content-Lengthヘッダーを取得しません。

詳細については、 http://en.wikipedia.org/wiki/Chunked_transfer_encodingを参照してください。

于 2013-01-16T19:17:43.547 に答える