<%@page import="java.net.URLEncoder"%>
<%@ page contentType="text/html; charset=UTF-8" language="java"
import="java.io.*,java.net.*,java.util.*;" errorPage=""%>
<%
/**
* @author migle 2011-4-1
* 流形式下载文件 downloadfile.jsp?fc=filecode
*
* 在map中通过filecode查找具体文件路径
***/
String filecode = request.getParameter("fc") != null ? request
.getParameter("fc") : "";
//可以扩展到从数据库或配置文件中读取
Map<String, String> map = new HashMap<String, String>();
map.put("999","d:/qhBI/downloadFile/market_survey_data_report/market_survey_data_report_0.xls");
map.put("70", "d:/qhBI/downloadFile/market_survey_data_report/market_survey_data_report_70.xls");
map.put("71", "d:/qhBI/downloadFile/market_survey_data_report/market_survey_data_report_71.xls");
map.put("72", "d:/qhBI/downloadFile/market_survey_data_report/market_survey_data_report_72.xls");
map.put("73", "d:/qhBI/downloadFile/market_survey_data_report/market_survey_data_report_73.xls");
map.put("74", "d:/qhBI/downloadFile/market_survey_data_report/market_survey_data_report_74.xls");
map.put("75", "d:/qhBI/downloadFile/market_survey_data_report/market_survey_data_report_75.xls");
map.put("76", "d:/qhBI/downloadFile/market_survey_data_report/market_survey_data_report_76.xls");
map.put("77", "d:/qhBI/downloadFile/market_survey_data_report/market_survey_data_report_77.xls");
map.put("79", "d:/qhBI/downloadFile/market_survey_data_report/market_survey_data_report_79.xls");
if (map.containsKey(filecode)) {
response.reset();
File file = new File(map.get(filecode));
//处理中文编码问题,IE9没有问题
String fileName = URLEncoder.encode(file.getName(), "UTF-8");
response.setContentType("application/octet-stream; charset=UTF-8");
response.addHeader("Content-disposition"," attachment; filename=\"" + fileName + "\"");
FileInputStream fis = null;
OutputStream os = null;
try {
//out.clear();
//可以扩展到从FTP等网络中读取
os = response.getOutputStream();
fis = new FileInputStream(file);
byte[] b = new byte[1024];
int i = 0;
while ((i = fis.read(b)) > 0) {
os.write(b, 0, i);
}
os.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fis != null) {
fis.close();
fis = null;
}
if (os != null) {
os.close();
os = null;
}
if (out != null) {
out.clear();
out = pageContext.pushBody();
}
}
} else {
response.setStatus(404);
out.write("404 NOT FOUND! 你懂的");
}
%>
直接上代码了
分享到:
相关推荐
filename="文件名.txt"`会提示浏览器以附件形式下载文件。同时,为了支持中文文件名,需要使用URL编码来处理文件名,避免乱码问题。 在JSP中,可以通过Servlet来处理文件上传和下载的逻辑,JSP则负责显示UI。JSP...
文件下载通常涉及生成HTTP响应,设置适当的响应头(如Content-Disposition,指示浏览器以附件形式下载文件,以及Content-Type指定文件类型),然后将文件内容写入响应流。在JSP中,可以通过Servlet或者使用JSP内置...
在这个场景下,我们关注的是如何在JSP页面中实现文件的下载功能。这个功能在很多网站上都常见,例如提供文档、软件或其他资源的下载服务。下面我们将详细探讨如何实现这一功能。 首先,为了创建一个下载链接,你...
"JSP实现文件上传与下载" JSP(Java Server Pages)是一种动态网页技术,用于开发基于Web的应用程序。...JSP文件上传和下载是Web应用程序中常用的功能,需要注意文件上传和下载的安全性、性能和可扩展性。
在IT行业中,JSP(JavaServer Pages)是一种用于创建...通过分析这些文件,你可以进一步了解JSP文件下载的具体实现细节,以及如何与服务器的文件系统交互。记住,安全性和用户体验是设计下载功能时必须兼顾的重要因素。
本文档将详细介绍如何使用Java Server Pages (JSP) 实现从服务器端下载Excel文件到客户端的过程。 #### 二、准备工作 1. **环境配置**: - Java 开发工具包 (JDK) - Apache Tomcat 或其他支持 JSP 的 Web 服务器...
以下是一个简单的JSP文件下载示例: ```jsp String fileName = "path/to/your/file.txt"; response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\""); response.setHeader(...
在Java和JSP中,实现文件下载是一项常见的任务,它涉及到服务器与客户端之间的交互,以及对文件流的处理。下面将详细讲解如何使用Java和JSP来实现这一功能。 首先,我们从`downloadtool.jsp`开始,这是一个用户界面...
`Content-Disposition`指定浏览器应以附件形式下载文件,并可以设置文件名,如`attachment; filename=example.txt`。 4. **读取文件并输出**:使用Java的`java.io`包中的`FileInputStream`读取文件内容,然后通过`...
jsp 实现 文件下载 jspsmartupload
总结来说,JSP文件上传下载是通过SmartUpload库实现的,它简化了文件操作的复杂性,使得开发者能更专注于业务逻辑。通过理解和实践SmartUpload的用法,你将能够为你的Web应用添加这一关键功能。同时,理解文件上传...
在IT行业中,JSP(JavaServer Pages)是一种用于创建动态网页的技术,而Word文件则是常见的文档格式,广泛用于办公环境中。当我们需要通过Web应用程序提供文件下载服务时,JSP可以作为一个有效的工具。在这个场景中...
在JSP文件中仅仅书写三五行JAVA代码就可以搞定文件的上传或下载,方便。 * 能全程控制上传。利用jspSmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据...
在MyEclipse这样的集成开发环境中,开发和调试JSP文件上传下载功能非常便捷。"updowntest"可能是一个项目或文件夹名称,里面可能包含了实现这些功能的JSP页面、Servlet类以及相关的配置文件。 总结来说,这个示例...
JSP 实现文件上传下载 在本文中,我们将学习如何使用 JSP 实现文件上传和下载功能。在这个过程中,我们将使用 Apache 的 Commons FileUpload 和 Commons IO 两个库来处理文件上传和下载。 首先,让我们了解一下...
【jsp文件上传下载】是一个常见的Web开发功能,用于在服务器端处理用户上传的文件并提供文件下载服务。在Java Web环境中,JSP(JavaServer Pages)是常用的动态网页技术,结合Servlet可以实现复杂的文件交互操作。 ...
当你需要让用户从网站上下载Word或Excel文件时,JSP可以扮演关键角色。本篇将详细介绍如何利用JSP实现这一功能,包括核心知识点、步骤解析以及相关的编程技巧。 一、JSP下载原理 在JSP中,我们通常通过Servlet来...
JSPSmartUpload是一个功能强大的JSP文件上传组件,它封装了文件上传的复杂过程,包括文件大小检查、类型检查、文件重命名等。开发者可以通过简单的API调用来实现文件上传功能。 **3. 使用步骤** - **创建上传表单**...
根据给定的信息,本文将详细解释如何使用JSP与SmartUpload插件来实现文件下载功能。这主要包括以下几个方面的内容:理解JSP与SmartUpload的基本概念、解析提供的代码示例、以及深入探讨SmartUpload中的关键方法。 #...
在本文中,我们将深入探讨`jsp文件上传下载实例`这一主题,主要关注如何在Java Server Pages (JSP)中实现文件的上传与下载功能。这是一个常见的需求,特别是在开发Web应用程序时,用户可能需要上传文件(如图片、...