首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java URLConnection头名

Java URLConnection头名
EN

Stack Overflow用户
提问于 2017-04-08 22:44:12
回答 1查看 217关注 0票数 0

我正在使用这段代码稍后从URL下载一个文件。

代码语言:javascript
复制
            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()给了我类型。遗憾的是,我找不到任何方法来确定这个名字。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-08 23:02:35

您可以从Content-Disposition头获取文件名:

代码语言:javascript
复制
String contentDisposition = conn.getHeaderField("Content-Disposition");

请注意,此标头由服务器设置,不能保证出现。下载文件的HTTP客户机使用Content-Disposition,如果它存在或默认到URL的最后一部分,在您的示例中是Installer.zip

内容处理标题内容类似于:

代码语言:javascript
复制
Content-Disposition: attachment; filename="Installer.zip"

您必须解析标头值以提取文件名部分。关于更多细节,您可以在这里查看:

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43301103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档