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中...
- 检查文件是否存在:在处理下载请求前,先检查文件是否真实存在。 - 范围解析:解析HTTP请求头中的`Range`字段,获取下载的起始和结束位置。 - 文件流处理:使用`FileInputStream`或`RandomAccessFile`打开文件,...
在Java中,可以使用`HttpServletRequest`对象的`getRemoteAddr()`方法获取客户端IP,但考虑到代理服务器的情况,可能需要使用`getHeader("X-Forwarded-For")`来获取真实IP。 7. **加密** 为了保证数据的安全,...
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
综上所述,Java真实项目中的文件上传和下载涉及了网络协议、文件处理、数据库操作、安全性等多个方面,需要综合运用多种技术和知识。通过学习和实践这些内容,开发者可以构建出高效、安全的文件管理系统。
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
获取真实文件路径 `getRealFileName`方法用于根据基础目录和绝对文件名构建实际的本地文件路径。通过分割文件路径、处理字符编码以及逐层创建目录,确保了文件能正确地解压缩到指定位置。 ```java public static ...
28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程...
28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程...
本文详细介绍了Java Servlet环境下实现文件下载的关键步骤与实现方法,包括了文件名编码、浏览器兼容性处理以及文件读取输出的具体实现细节。希望这些内容能够帮助开发者更好地理解和实现文件下载功能。
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
5. **使用Flash或ActiveX控件**:如果必须在IE8上获取真实路径,可以考虑使用Flash或ActiveX插件,但这会增加兼容性问题和安全风险。 压缩包中的`fileupload.jsp`文件可能是一个示例或模板,用于演示如何在Java...
本文档将详细介绍如何使用Java Server Pages (JSP) 实现从服务器端下载Excel文件到客户端的过程。 #### 二、准备工作 1. **环境配置**: - Java 开发工具包 (JDK) - Apache Tomcat 或其他支持 JSP 的 Web 服务器...
这里使用`getServletContext().getRealPath()`方法来获取文件的真实路径。 ```java bis = new BufferedInputStream(new FileInputStream(getServletContext().getRealPath("" + fileName))); ``` #### 2.3 异常处理...
根据给定的文件信息,我们可以总结出一系列关于Java文件操作的重要知识点,这些知识点不仅涵盖了基本的文件和目录的创建、删除、读取等操作,还深入到如何在JSP页面中进行文件操作,以及获取文件属性等高级功能。...
2. **文件与目录操作**:通过Java的java.io.File类,可以创建、删除、重命名文件和目录,获取文件属性(如大小、修改时间),以及遍历目录结构。 3. **文件系统抽象**:为了模拟真实操作系统中的文件系统,需要设计...
从【压缩包子文件的文件名称列表】"1614490069谢春媛"来看,这个文件名可能是开发者或测试者的姓名和一个时间戳,但具体到项目内容上,我们无法直接获取更多信息。通常在这样的项目中,我们期望看到的子文件可能包括...
在IT领域,特别是软件开发与数据处理中,Java作为一种广泛使用的编程语言,其强大的文件处理能力使得开发者能够高效地操作各种格式的文件。本文将详细阐述如何使用Java来读取并解析一个文件夹中所有.txt(文本)文件...
5. **获取真实文件名** 在Action类的`execute()`方法中,可以通过`multipartFile.getOriginalFilename()`获取上传文件的原始文件名。由于安全考虑,浏览器通常会重命名上传的文件,所以这个方法能获取到用户设备上...