0

私はいくつかのファイルをダウンロードしようとしているこのコードを持っています、

URL url = new URL("the url");
URLConnection connection = url.openConnection();
connection.connect();
int fileLength = connection.getContentLength();

getContentLength メソッドは -1 を返しますが、ファイルはどの種類のインターネット ブラウザでもダウンロードできます。

これはIISのMIMEタイプか何かですか?

-------- 回答 ------------- IIS に .map MIME タイプ (zip ファイル "application/x-zip-compressed" と同じ) を追加しました。それは問題を解決しました。

4

4 に答える 4

1

応答ヘッダー フィールド content-length で指定されたバイト単位のコンテンツ長を返しますが、このフィールドが設定されていない場合は -1 を返します。

確実に接続されていることを確認していますか?

于 2013-09-16T11:56:25.020 に答える
0

残りの http ヘッダーを確認してください。ファイルがチャンク エンコーディングを使用してストリーミングされていると推測されます。つまり、利用可能なコンテンツの長さはありません。

接続の入力ストリームを開き、ストリームの最後に -1 が返されるまで読み取ることをお勧めします。

于 2013-09-16T11:56:44.177 に答える