`
leeldy
  • 浏览: 14124 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Java下载文件获取真实文件名

    博客分类:
  • Java
阅读更多
String imgurl = "文件地址";
URL url = new URL(imgurl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.connect();

//获取文件名和扩展名
            //先连接一次,解决跳转下载
            conn.getResponseCode();
            imgurl = conn.getURL().toString();
            //第一种方式,针对 img.png
            fileName = imgurl.substring(imgurl.lastIndexOf("/")+1);
            if(fileName.lastIndexOf(".")>0){
                extName = fileName.substring(fileName.lastIndexOf(".")+1);
            }
            if(extName==null || extName.length()>4 || extName.indexOf("?")>-1){
                //第二种方式,获取header 确定文件名和扩展名
                fileName = conn.getHeaderField("Content-Disposition");
                if(fileName==null || fileName.indexOf("filename")<0){
                    fileName = enclosure.getId().toString();
                    extName = "jpg";
                }else{
                    fileName = URLDecoder.decode(fileName.substring(fileName.indexOf("filename")+10,fileName.length()-1),"UTF-8");
                    extName = fileName.substring(fileName.lastIndexOf(".")+1);
                }
            }

//还找不到的话,我也没辙了。
分享到:
评论

相关推荐

    java源码包---java 源码 大量 实例

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    JAVA上百实例源码以及开源项目

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包4

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    JAVA上百实例源码以及开源项目源代码

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包3

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包2

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程...

    RxHttp:对RxJava2+Retrofit2+OkHttp3的封装

    有网缓存有效10秒支持添加公共请求参数支持自定义异常处理和异常提示消息文件下载(RxDownload)支持断点续传支持下载进度回调支持下载速度回调支持下载过程状态监听支持在仅保存下载路径未保存进度时自动恢复断点续...

    3Java SE(下).doc

    3)查看文件是否真实存在:boolean exists() 4)查看是否表示的是文件:boolean isFile() 5)查看是否表示的是目录:boolean isDirectory() 6)以下三个方法判断文件或目录是否:可写,可读,可运行 file.canWrite...

    java二分法源码-libpywebhack:网络黑客协助工具包

    下获取真实路径,检查服务器状态(方法apachetest ) 通过在IIS index_allocation可能性,检查一些敏感文件,运行检查访问限制绕过iiscan (方法iistest ) 尝试通过通配符(方法iiscan )模糊当前 IIS 目录中的所有...

    ssh(structs,spring,hibernate)框架中的上传下载

     本文将围绕SSH文件上传下载的主题,向您详细讲述如何开发基于SSH的Web程序。SSH各框架的均为当前最新版本:  •Struts 1.2  •Spring 1.2.5  •Hibernate 3.0  本文选用的数据库为Oracle 9i,当然你可以在不...

    JSP实用技巧集合,jsp编程的一些小技巧总结

    70. jsp直接弹出下载框下载文件? 71. 配置数据连接池和数据源(Tomcat)? 72. 点击图1变为图2? 73. JSP中显示图片的方法之一? 74. int转为Integer的方法? 75. 请求jsp页面禁止缓存方法? 76. select选中其中的值自动...

    day020-继承加强和设计模式代码和笔记.rar

    传统方式获取流是new创建的,而在web开发中有可能获取不到配置文件,为了避免这种情况,用以下方式获取流: 1. 通过当前类字节码文件的方式,一般是用当前类的字节码文件 当前类.class....

    jsp编程技巧集锦

    jsp直接弹出下载框下载文件? 71. 配置数据连接池和数据源(Tomcat)? 72. 点击图1变为图2? 73. JSP中显示图片的方法之一? 74. int转为Integer的方法? 75. 请求jsp页面禁止缓存方法? 76. select...

    C语言入门经典(第4版)--源代码及课后练习答案

    IvorHorton还著有关于C、C++和Java的多部入门级好书,如《C语言入门经典(第4版)》和《C++入门经典(第3版)》。 译者  杨浩,知名译者,大学讲师,从事机械和计算机方面的教学和研究多年,发表论文数篇,参编和翻译的...

    asp.net知识库

    Asp.Net(C#)利用XPath解析XML文档示例 XSL .Net框架下的XSLT转换技术简介 一个XSLT的简单例子 XSLXSLT板主题整理 xsl入门的好文章 新手学习XSL的好东西 XSL语法介绍 XSL学习心得 - 调用属性值 XSLT与XML转换的详细...

Global site tag (gtag.js) - Google Analytics