2017-04-08 9 views
0

このコードを使用して、後でURLからファイルをダウンロードします。Java URLConnectionヘッダー名

  URL url = new URL("http://smarthome-de.censored.net/Installer.zip"); 
      URLConnection conn = url.openConnection(); 
      int size = conn.getContentLength(); 
      String type = conn.getContentType(); 

URLからファイル名をキャッチする方法はありますか? 私は "Installer.zip"を文字列に格納することができます。

getContentType()が私に型を与えることが分かりました。残念ながら私はその名前のための方法を見つけることはありません。

答えて

0

あなたはContent-Dispositionヘッダからファイル名を取得できます。

String contentDisposition = conn.getHeaderField("Content-Disposition"); 

このヘッダは、サーバーによって設定され、存在することが保証されていないことに注意してください。ファイルをダウンロードするHTTPクライアントは、Content-Disposition(存在する場合)を使用するか、またはURLの最後の部分(デフォルトではInstaller.zip)になります。あなたはファイル名の一部を抽出するために、ヘッダー値を解析する必要が

Content-Disposition: attachment; filename="Installer.zip" 

のContent-Dispositionヘッダーの内容は次のようなものです。 詳細はこちらをご覧ください:

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition

関連する問題