public void download(HttpServletRequest request, HttpServletResponse response,String fileUrl,String fileName) {
java.io.BufferedInputStream bis = null;
java.io.BufferedOutputStream bos = null;
try {
// 客户使用保存文件的对话框:
fileName = WebUtils.encodeFileName(request, fileName)
.replaceAll("\\+", "%20");
fileUrl = new String(fileUrl.getBytes("utf-8"), "utf-8");
response.setContentType("application/x-msdownload");
response.setCharacterEncoding("utf-8");
response.setHeader("Content-disposition", "attachment; filename="
+ fileName);
// 通知客户文件的MIME类型:
bis = new java.io.BufferedInputStream(new java.io.FileInputStream(
(fileUrl)));
bos = new java.io.BufferedOutputStream(response.getOutputStream());
byte[] buff = new byte[2048];
int bytesRead;
int i = 0;
while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
bos.write(buff, 0, bytesRead);
i++;
}
bos.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bis != null) {
try {
bis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
bis = null;
}
if (bos != null) {
try {
bos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
bos = null;
}
}
}
调用的时候直接传具体的URL和fileName就可以了,比如我的文件存放在:D:\\resources\\test.pdf;
调用的时候直接赋值就可以了
String fileUrl = "D:\\resources\\test.pdf";
String fileName=test.pdf;
download(request, response, fileUrl, fileName)
分享到:
相关推荐
它是MySQL数据库的JDBC类型4驱动,这意味着它是一个纯Java实现,无需依赖于操作系统或特定的本地库。这使得它可以在各种Java运行环境中使用,如JVM(Java Virtual Machine)或Tomcat这样的应用服务器。 在开发Java...
MySQL Connector/J属于Type 4,即纯Java实现的非阻塞、完全基于网络协议的驱动,无需依赖本地库,可以在任何支持Java的平台上运行。 MySQL-connector-java-8.0.23.jar的具体功能包括: 1. **连接管理**:提供建立、...
1. **JDBC驱动程序类型**:MySQL Connector/J是Type 4 JDBC驱动,意味着它是纯Java实现的网络驱动,无需依赖操作系统特定的库。它直接处理网络通信,将SQL语句发送到MySQL服务器并接收返回的结果。 2. **连接配置**...
由于其纯Java特性,这个驱动可以在任何支持Java的平台上运行,包括Windows、Linux、Mac OS等。 **JDBC驱动的分类** 在JDBC中,驱动分为四类: 1. 类型1(JDBC-ODBC桥接):将Java应用程序与ODBC驱动程序连接起来,...
2. **JDBC驱动类型**:MySQL Connector/J属于Type 4纯Java驱动,无需安装客户端库,直接通过网络与MySQL服务器通信。 3. **连接配置**:使用`java.sql.DriverManager.getConnection()`方法建立连接,需要提供数据库...
MySQL Connector/J属于Type 4 JDBC驱动,意味着它是纯Java实现,无需安装任何本地库,可以在任何支持Java的平台上运行。 3. **功能**: - 数据库连接:通过`java.sql.DriverManager.getConnection()`方法创建到...
JDBC驱动程序分为四种类型:Type 1(纯Java驱动),Type 2(混合驱动),Type 3(网络协议驱动)和Type 4(纯Java的Socket驱动)。MySQL Connector/J是Type 4驱动,它完全由Java编写,无需依赖操作系统特定的库,...
这个JAR(Java Archive)文件包含了必要的类和资源,使得开发人员能够在Java应用程序中执行SQL查询、管理数据库事务、处理结果集等一系列数据库操作。 MySQL Connector/J是MySQL官方提供的Java驱动程序,它是符合...
MySQL Connector/J属于Type 4,即纯Java的网络驱动,无需依赖于本地数据库客户端库,因此具有良好的平台兼容性。 2. **MySQL Connector/J 5.1.27的特性** - **兼容性**:此版本的驱动程序设计与MySQL 5.x系列兼容...
在这个“email客户端-实现发送邮件-纯java实现-包括所需要的库文件”的主题中,我们将深入探讨如何使用 JavaMail API 实现一个简单的电子邮件客户端,以及必要的库文件。 首先,JavaMail API 提供了 javax.mail 包...
JDBC驱动提供了四种类型,其中Type 4如`mysql-connector-java`是纯Java实现的非协议特定的驱动,可以直接与数据库进行通信,无需依赖于中间的数据库特定库或API。 使用`mysql-connector-java-5.1.20-bin.jar`之前,...
JSch是一个纯Java实现的SSH2库,它允许用户连接到SFTP服务器,进行文件传输、创建目录、删除文件等操作。首先,我们需要在项目中引入JSch库,然后创建一个`Session`对象,设置用户名、密码或密钥对,并连接到SFTP...
在本压缩包中,`mysql-connector-java-5.1.46-bin.jar`和`mysql-connector-java-5.1.46.jar`是驱动的核心文件,分别对应于不同打包方式的驱动,前者包含了本地二进制库,后者则是一个纯Java实现,可以在不需要本地库...
它是MySQL官方提供的纯Java实现的JDBC驱动,符合Java的标准规范,可以在任何支持Java的平台上运行,无需进行平台相关的编译或配置。它的主要任务是提供一套接口,使得Java程序可以按照JDBC标准与MySQL服务器进行交互...
MySQL Connector/J实现了JDBC驱动程序的四种类型:Type 1(纯Java,使用ODBC桥),Type 2(混合模式,使用本地协议),Type 3(纯Java,使用网络协议)以及Type 4(纯Java,直接与数据库通信)。MySQL Connector/J...
JDBC驱动程序主要分为四种类型:Type 1、Type 2、Type 3和Type 4,其中MySQL Connector/J属于Type 4,即纯Java实现,无需依赖于操作系统或数据库供应商的特定库,因此具有良好的平台兼容性。 MySQL Connector/J的...
1. **JDBC驱动类型**:MySQL Connector/J属于Type 4 JDBC驱动,提供了纯Java实现,无需安装任何额外的客户端库,可以在任何支持Java的平台上运行。 2. **连接配置**:通过提供数据库URL、用户名和密码,开发者可以...
2. `mysql-connector-java-5.1.46.jar`:这个版本是纯Java实现,不包含任何本地库,因此可以在任何支持Java的平台上运行。如果你的应用不需要本地优化或者是在跨平台的环境中,可以选择这个版本。 接下来,你需要将...
`mysql-connector-java-5.1.47`属于Type 4,它使用纯Java实现,可以直接通过网络与MySQL服务器通信,无需依赖操作系统特定的库。 使用`mysql-connector-java-5.1.47`时,你需要在Java应用中添加对应的JAR文件到类...