3

URLから画像をダウンロードしようとしています。Apache Commonsライブラリを使用します。

org.apache.commons.io.FileUtils
                .copyURLToFile(
                        new URL(
                                "https://lh3.ggpht.com/AXYMUV5cpne2vE9U3X8x87HgrbwijwiG50_yOnehU2MUPKDoJky-BKFOPZzZ07Pug8U=h230"),
                        new File("test.png"));

画像を開くと、PNGファイルではないと表示されます。これは、URL からローカルに画像をダウンロードする良い方法ですか?

更新しました 。答えてくれてありがとうconnection.getContentType();

4

3 に答える 3

2

URLを確認するとJPEGファイルです。ファイル名をtest.jpegに変更してからプログラムを実行してみてください。

于 2012-06-27T06:28:42.297 に答える
2

コンテンツ タイプを確認するには、このSO Questionを参照してください。次に、これを使用してファイルを正しいタイプに保存します。

于 2012-06-27T06:45:20.433 に答える
0

この URL で wget を実行し、HTTP 応答を見ると、ファイル タイプが明示的に JPEG として指定されているように見えます。

--2012-06-27 16:55:30-- https://lh3.ggpht.com/AXYMUV5cpne2vE9U3X8x87HgrbwijwiG50_yOnehU2MUPKDoJky-BKFOPZzZ07Pug8U=h230
lh3.ggpht.com を解決しています... 74.125.237.108、74.125.237.106、74.125.237.107、...
lh3.ggpht.com|74.125.237.108|:443... に接続しています... 接続しました。
HTTP 要求が送信され、応答を待っています...
  HTTP/1.0 200 OK
  Access-Control-Allow-Origin: *
  ETag:「v1」
  有効期限: 2012 年 6 月 28 日 (木) 06:50:40 GMT
  Content-Disposition: inline;filename="unnamed.jpg"
  コンテンツ タイプ: 画像/jpeg
  X-Content-Type-Options: nosniff
  日付: 2012 年 6 月 27 日 (水) 06:50:40 GMT
  サーバー:ファイフ
  コンテンツの長さ: 46597
  X-XSS-保護: 1; モード=ブロック
  キャッシュ制御: 公開、最大年齢 = 86400、変換なし
  年齢: 290
  接続: キープアライブ
長さ: 46597 (46K) [画像/jpeg]
于 2012-06-27T06:57:00.400 に答える