public static void downloadFile(String filePath, javax.servlet.http.HttpServletResponse response) {
String fileName = ""; //文件名,输出到用户的下载对话框
//从文件完整路径中提取文件名,并进行编码转换,防止不能正确显示中文名
try {
if (filePath.lastIndexOf("/") > 0) {
fileName = new String(filePath.substring(filePath.lastIndexOf("/") + 1, filePath.length()).getBytes(
"GB2312"), "ISO8859_1");
} else if (filePath.lastIndexOf("\\") > 0) {
fileName = new String(filePath.substring(filePath.lastIndexOf("\\") + 1, filePath.length()).getBytes(
"GB2312"), "ISO8859_1");
}
} catch (Exception e) {
}
//打开指定文件的流信息
FileInputStream fs = null;
try {
fs = new FileInputStream(new File(filePath));
} catch (FileNotFoundException e) {
e.printStackTrace();
return;
}
//设置响应头和保存文件名
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
//写出流信息
int b = 0;
try {
PrintWriter out = response.getWriter();
while ((b = fs.read()) != -1) {
out.write(b);
}
fs.close();
out.close();
System.out.println("文件下载完毕.");
} catch (Exception e) {
e.printStackTrace();
System.out.println("下载文件失败!");
}
}
分享到:
相关推荐
在Java编程语言中,实现一个简单的文件下载功能是常见的需求,尤其在开发Web应用程序时。这个"Java实现简单文件下载共3页.pdf.zip"的压缩文件可能包含了一份详细指南,教你如何利用Java来完成这个任务。尽管我们无法...
基于Python+Django简单实现文件上传下载功能源码 基于Python+Django简单实现文件上传下载功能源码 基于Python+Django简单实现文件上传下载功能源码 基于Python+Django简单实现文件上传下载功能源码 基于...
使用方法,在与本程序相同的目录下创建一个子目录file, 在file目录下存放需要下载的文件,然后启动本服务器程序。服务器启动后,即可在客户端通过浏览器访问服务器,比如:http://xxx.xxx.xxx.xxx:8080, xxx.xxx.xxx...
当涉及到文件下载时,Struts2提供了`stream`结果类型,用于处理二进制数据流,这使得文件下载变得简单且高效。 #### 配置Struts2中的文件下载 在Struts2中配置文件下载,首先需要在`struts.xml`配置文件中定义一个...
【文档精灵:一个基于Python3的简易文件下载工具】 文档精灵是一个使用Python3开发的简单文件下载工具,其核心功能是通过URL获取并下载文件。它初步实现了对带有固定文件名的文件进行下载,旨在成为一个稳定且可靠...
【标题】简易的Qt文件下载器 FileDownloader.zip 这个压缩包包含了一个基于Qt库的简单文件下载器项目。Qt是一个跨平台的C++图形用户界面应用程序开发框架,它提供了丰富的功能,包括窗口、控件、网络通信等,使得...
在这个简单的示例中,我们的目标是在WPF应用中实现文件下载功能。这通常涉及到以下几个步骤: 1. **创建网络请求**:在C#中,我们可以使用`HttpClient`类来发起HTTP请求,获取网络上的文件。`HttpClient`提供了异步...
在Android开发中,文件下载是一项常见的任务,而`OKHttp3`是一个强大的网络请求库,提供了高效、便捷的网络通信支持。本教程将详细介绍如何利用`OKHttp3`实现文件下载,包括完整的断点续传和暂停下载功能。 首先,...
在C# Winform环境下开发文件下载功能,主要是利用.NET Framework提供的System.Net命名空间中的WebClient类。这个类为开发者提供了一种简单的方式来处理HTTP、FTP等网络协议的交互,包括下载文件。本篇将深入探讨如何...
用于应用程序的简单文件下载器库 为什么? 一个函数调用而不是必须手动实现很多。 将文件保存到用户的Downloads目录,而不是提示。 完成后,弹出扩展坞中的“下载”目录。 (苹果系统) 处理多个下载。 显示...
- `readfile()`或`file_get_contents()`函数读取文件内容并将其发送到浏览器,实现文件下载。 - 可以通过设置`Content-Type`和`Content-Disposition`头来指定文件类型和显示方式(直接显示还是作为附件下载)。 3...
在Java和JSP中,实现文件下载是一项常见的任务,它涉及到服务器与客户端之间的交互,以及对文件流的处理。下面将详细讲解如何使用Java和JSP来实现这一功能。 首先,我们从`downloadtool.jsp`开始,这是一个用户界面...
在ASP.NET(C#) Web API开发中,有时我们需要提供一个接口让用户能够下载服务器上的文件。...这种方法简单、高效,适用于大多数文件下载场景。如果你需要在自己的项目中实现类似功能,这个实例提供了一个很好的起点。
一个简单地文件管理系统,实现了文件的上传、下载、移动等功能,支持大部分类型文件的预览,支持视频浏览,音乐播放等。。。一个个人文件管理系统的源码脚手架,r-pan基于此脚手架搭建,版本更新内容(更换了前端...
文件下载则是相反的过程,服务器作为数据的源头,客户端作为接收方。服务器读取指定文件并将其内容通过socket发送给客户端,客户端接收到数据后保存为本地文件。 在这个C++项目中,可能会用到以下核心概念和技术: ...
创建一个简单的下载类,例如`DownloadManager`,它会处理HTTP GET请求和下载进度更新: ```cpp class DownloadManager : public QObject { Q_OBJECT public: explicit DownloadManager(QObject *parent = ...
- **权限控制**:在提供文件下载服务时,需要考虑访问权限,确保只有拥有权限的用户才能下载特定文件。 3. **相关技术** - **Commons-FileUpload库**:Apache Commons FileUpload库简化了文件上传的处理,它提供...
适合新手学习的PHP文件下载源代码,代码功能简单,有详细的注释,新手学习的话可以看看,老手绕道
接下来,我们讨论文件下载。在PHP中,可以使用`readfile()`函数直接读取并输出文件内容,这样浏览器就会自动触发下载操作。下面是一个简单的下载文件的示例: ```php $file = 'uploads/myfile.jpg'; // 需要下载的...