我想从下载链接中获取一些文件的扩展名。
下载链接不包含其文件的扩展名。例如,链接如下所示:
http://yourshot.nationalgeographic.com/u/fQYSUbVfts-T7odkrFJckdiFeHvab0GWOfzhj7tYdC0uglagsDNfNYI4FFesWV5zeSPtcfpyHzKZI7dHjkluwtIYNkXOGmjh43Ktdn0VeBWhQ-9l2kheOPt5N2TM3yPEW4tTrtFFqniatwxxhbqsc78IU2pBaqWwyEVLeQx64zSda2CNGmUpSxyte_tamVoIk3y4zXisQ-vjmMp6n1BAB3nbUVlwWg/
我尝试使用myHttpUrlConnection.getContentType()
获取文件扩展名,但结果不是我想要的结果。
某些下载链接会返回““text/plain”
,”application-octet-stream”
,multipart/form-data
,…
等词组。但我只想要正确而明确的类型,例如rar
,mp4
,txt
,jpeg
,mkv
,zip
,{{1} },png
,apk
,mp3
。
答案 0 :(得分:3)
你做不到。 getContentType()
方法简单:
返回content-type标头字段的值。
在大多数情况下(虽然不保证)与文件扩展名/文件类型相关,例如application/pdf
表示该网址下有PDF文件。
您列出的每个扩展名的文件类型(rar,mp4,txt,jpeg,mkv,zip,png,apk,mp3)都有另一种结构。为了可靠地执行您想要做的事情,您必须先下载整个文件,然后根据内容检查其类型。
您可以使用的一个很好的例子是Apache Tika。