`
JavaTestJava
  • 浏览: 55247 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java文件下载更换文件名字

阅读更多
最近在做一个项目,本来是作为隐藏在后台直接在JSP里面打开的的DOC文件,用户要求作为文件直接下载。

问题是,因为是作为插件打开的所以,DOC文件是一个默认的非常复杂的文件名字。
通过路径来分别存储。用户觉得这个名字不能和实际内容关联其来不行。
要求下载下来的DOC文件的文件名字要和记录标题一样。

我刚开始是想,要不重新修改代码在新建记录保存的时候就将标题作为文件名字保存在服务器上,那下载下来肯定是文件名字了。

遇到情况:要求修改的代码非常的多,另外如果用户修改了记录标题以后,文件名是否也要修改?非常麻烦,并且服务器上也不安全。

现在解决方法是:不是直接用FTP下在DOC文件而是通过stream的样式下载下来。

代码如下:
String root = getServletContext().getRealPath("/");
		String filePath = root + content + "__$$DocumentFileInJMW$$__.doc";

		String temName = title+".doc"; //文件改名
		String myName = new String(temName.getBytes("GBK"),"ISO8859_1");       

		// 设置响应头和下载保存的文件名
		response.reset();
		response.setCharacterEncoding("ISO8859-1");
		response.setContentType("application/octet-stream");
		response.addHeader("Content-Disposition", "filename=\"" + myName
				+ "\""); 

		try {
			File file = new File(filePath);
			byte[] b = new byte[10240];
			FileInputStream inStream = null;
			int len;
			if (file.exists() && file.isFile()) {
				inStream = new FileInputStream(file);
				if (inStream != null) {
			while ((len = inStream.read(b)) > 0) {
				response.getOutputStream().write(b, 0, len);
			}
			response.getOutputStream().flush();
			inStream.close();
				}
			}
		} catch (Exception e) {
			
		} finally {

		}



不能放在JSP也面里面否则会有冲突getOutputStream()和JSP的write有冲突。能下载但是会错误提示。
0
0
分享到:
评论

相关推荐

    java文件预览功能实现,可预览zip等文件.7z

    使用spring boot打造文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4,mp3以及众多类文本如txt、html、xml、java、properties、sql、js、md、json、conf、ini、vue、php、py、...

    JAVA_API1.6文档(中文)

    java.util.jar 提供读写 JAR (Java ARchive) 文件格式的类,该格式基于具有可选清单文件的标准 ZIP 文件格式。 java.util.logging 提供 JavaTM 2 平台核心日志工具的类和接口。 java.util.prefs 此包允许应用程序...

    java实现poi模板生成PPT文件代码

    Java中的Apache POI库是一个强大的工具,用于读取、创建和修改Microsoft Office格式的文件,包括PPT(PowerPoint)文档。在这个项目中,我们将会探讨如何使用POI API来生成PPT文件,特别是通过模板的方式。以下是...

    Java中写xml文件

    Java 中编写XML文件涉及到的主要技术是Java API for XML Processing(JAXP),这是一个用于XML文档处理的Java编程接口。JAXP提供了对DOM(Document Object Model)、SAX(Simple API for XML)和XSLT(Extensible ...

    用java解析DXF文件中的实体信息

    在本主题中,我们关注的是如何利用Java解析DXF(Drawing Exchange Format)文件,这是一种由AutoCAD软件生成的二进制或ASCII格式的文件,用于存储二维图形数据。DXF文件通常包含各种几何实体,如圆(circle)、椭圆...

    java sftp文件上传

    Java SFTP文件上传是通过Java编程语言实现与Secure File Transfer Protocol(SFTP)服务器进行交互,将本地文件安全地传输到远程服务器的过程。SFTP是一种基于SSH的安全文件传输协议,它提供了在不安全网络上安全...

    java打包exe 更换图标

    我们只需要launch.exe、launcher.cfg两个文件,将这两个文件复制到打包文件所在的目录。launcher.cfg是一个仅三行内容的文本文件,将它修改如下: . .\java1.4.2\jre\bin\javaw.exe -jar ChatServer.jar  第一...

    Java环境服务器部署基本文档

    2. 拉取MySQL的RPM包,如果遇到下载问题,可能需要更换源。例如,可以执行: ``` rpm -e --nodeps mysql wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm sudo sed -i -e "s|...

    Java Maven快速配置必备文件.zip

    如果开发者更换机器或者环境,导入这个.zip文件可以快速恢复Maven的个人配置和已下载的依赖,避免重新下载大量库,节省时间。 在实际开发中,正确配置Maven的settings.xml是至关重要的。它可以定制化Maven的行为,...

    java文件加密和解密

    在Java编程语言中,文件加密和解密是...总结,Java文件加密和解密涉及多种加密算法、Java加密库的使用以及安全实践。开发者在处理敏感数据时,应选择合适的加密方式,并遵循最佳安全实践,以确保数据的完整性和机密性。

    JAVA代码实现远程服务器的文件操作步骤及JAR包

    通过这些类,你可以创建自定义的网络服务,实现文件的上传和下载。例如,你可以创建一个服务器端接收文件,客户端发送文件的简单应用。 总的来说,Java提供了多种方式来处理远程服务器的文件操作。结合JSch、SVNKit...

    基于java socket实现的ftp客户端和服务端交互

    代码仅供参考学习! 代码仅供参考学习! 代码仅供参考学习! 本项目是使用java Socket编程实现的一个简单的FTP服务器和客户端。...服务器端实现的功能有登录、刷新、上传、下载、列出文件列表、更换目录等

    关于Java使用EasyExcel导出动态数据为Excel文件SpringBoot代码项目示例

    1、下载资源后请先看readme文档,README.md中有项目的介绍和具体的使用流程说明和易碰到的问题及解决方案。 2、若各位项目需求与本资源的样式相符度低,例如业务有渲染单元格颜色的,或者要求字体加粗,或者写入到多...

    Q版java文件加密

    Java文件加密技术是一种重要的信息安全措施,它涉及到对Java程序或数据进行编码,使得未经授权的用户无法访问或理解这些内容。Q版Java文件加密工具可能是专为此目的设计的一个简易版本,适用于个人或小型团队使用。...

    java使用poi解密excel文件的实例代码

    Apache POI 是基于 Office Open XML 标准(OOXML)和 ...本代码实例是使用java语言写的poi解密excel文件实例代码,代码只实现了.xls类型的excel,.xlsx类型的excel只需把HSSF前缀的类更换成XSSF开通的前缀类即可。

    java爬虫学习文档集

    Java爬虫学习文档集主要涵盖了使用Java语言进行网络爬虫开发的相关知识,其中包括对HTTP解析库 httpparse 和 HTTP客户端库 httpClient 的学习资料。这两部分是构建Java爬虫的重要组件,下面将详细介绍这两个库以及...

    logback jar包和logback.xml配置文件打包下载 小白新手学Java

    SLF4J不提供具体的日志实现,而是作为一个统一的接口,使得开发者可以在不修改代码的情况下更换不同的日志实现,如Logback、Log4j等。 `logback-core-1.2.3.jar`是Logback的核心库,包含了日志处理的基本功能,如...

    成语大词典java下载说明

    根据提供的文件信息,我们可以推断出这是一篇关于在手机上下载并安装Java版本的成语大词典应用的说明文档。下面将详细解释与标题、描述及部分内容相关的知识点。 ### 成语大词典Java版应用简介 #### 一、什么是...

    Java实现用AES+des对文件加密解密Java实现用AES+des对文件加密解密

    本文将深入探讨如何使用Java语言实现AES(Advanced Encryption Standard)和DES(Data Encryption Standard)算法对文件进行加密和解密。 AES是一种现代的块加密算法,被广泛用于商业应用,因为它提供了极高的安全...

    [续]Java调用DLL视频解帧,并保存第一关键帧到JPG格式文件

    6. **编程实践**:在实际开发中,使用Java调用DLL需要编写C/C++的本地方法(native method),这通常是一个C/C++的头文件和对应的实现文件,它们定义了Java和DLL之间的接口。然后使用JNI工具生成对应的Java本地接口...

Global site tag (gtag.js) - Google Analytics