`
longforfreedom
  • 浏览: 198797 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JSP中流形式下载文件

    博客分类:
  • JAVA
阅读更多

<%@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! 你懂的");
    }
%>
 直接上代码了
0
0
分享到:
评论

相关推荐

    jsp文件的上传和下载

    filename="文件名.txt"`会提示浏览器以附件形式下载文件。同时,为了支持中文文件名,需要使用URL编码来处理文件名,避免乱码问题。 在JSP中,可以通过Servlet来处理文件上传和下载的逻辑,JSP则负责显示UI。JSP...

    基于jsp的文件上传下载

    文件下载通常涉及生成HTTP响应,设置适当的响应头(如Content-Disposition,指示浏览器以附件形式下载文件,以及Content-Type指定文件类型),然后将文件内容写入响应流。在JSP中,可以通过Servlet或者使用JSP内置...

    jsp页面实现文件的下载功能

    在这个场景下,我们关注的是如何在JSP页面中实现文件的下载功能。这个功能在很多网站上都常见,例如提供文档、软件或其他资源的下载服务。下面我们将详细探讨如何实现这一功能。 首先,为了创建一个下载链接,你...

    JSP实现文件上传与下载.pdf

    "JSP实现文件上传与下载" JSP(Java Server Pages)是一种动态网页技术,用于开发基于Web的应用程序。...JSP文件上传和下载是Web应用程序中常用的功能,需要注意文件上传和下载的安全性、性能和可扩展性。

    jsp页面下载文件

    在IT行业中,JSP(JavaServer Pages)是一种用于创建...通过分析这些文件,你可以进一步了解JSP文件下载的具体实现细节,以及如何与服务器的文件系统交互。记住,安全性和用户体验是设计下载功能时必须兼顾的重要因素。

    使用jsp下载excel文件

    本文档将详细介绍如何使用Java Server Pages (JSP) 实现从服务器端下载Excel文件到客户端的过程。 #### 二、准备工作 1. **环境配置**: - Java 开发工具包 (JDK) - Apache Tomcat 或其他支持 JSP 的 Web 服务器...

    使用JSP实现上传下载文件jspSmartUpload

    以下是一个简单的JSP文件下载示例: ```jsp String fileName = "path/to/your/file.txt"; response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\""); response.setHeader(...

    java+jsp 文件下载(服务器上的文件)

    在Java和JSP中,实现文件下载是一项常见的任务,它涉及到服务器与客户端之间的交互,以及对文件流的处理。下面将详细讲解如何使用Java和JSP来实现这一功能。 首先,我们从`downloadtool.jsp`开始,这是一个用户界面...

    java jsp+servlet实现文件下载(而不是在网页中显示出文件内容) 迅雷下载功能.zip

    `Content-Disposition`指定浏览器应以附件形式下载文件,并可以设置文件名,如`attachment; filename=example.txt`。 4. **读取文件并输出**:使用Java的`java.io`包中的`FileInputStream`读取文件内容,然后通过`...

    jsp 实现 文件 下载 jsp代码

    jsp 实现 文件下载 jspsmartupload

    Jsp文件上传下载

    总结来说,JSP文件上传下载是通过SmartUpload库实现的,它简化了文件操作的复杂性,使得开发者能更专注于业务逻辑。通过理解和实践SmartUpload的用法,你将能够为你的Web应用添加这一关键功能。同时,理解文件上传...

    用JSP下载word文件

    在IT行业中,JSP(JavaServer Pages)是一种用于创建动态网页的技术,而Word文件则是常见的文档格式,广泛用于办公环境中。当我们需要通过Web应用程序提供文件下载服务时,JSP可以作为一个有效的工具。在这个场景中...

    jsp实现文件上传文档jsp实现文件上传文档

    在JSP文件中仅仅书写三五行JAVA代码就可以搞定文件的上传或下载,方便。 * 能全程控制上传。利用jspSmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据...

    一个jsp上传文件、下载文件的代码

    在MyEclipse这样的集成开发环境中,开发和调试JSP文件上传下载功能非常便捷。"updowntest"可能是一个项目或文件夹名称,里面可能包含了实现这些功能的JSP页面、Servlet类以及相关的配置文件。 总结来说,这个示例...

    利用jsp实现文件上传下载

    JSP 实现文件上传下载 在本文中,我们将学习如何使用 JSP 实现文件上传和下载功能。在这个过程中,我们将使用 Apache 的 Commons FileUpload 和 Commons IO 两个库来处理文件上传和下载。 首先,让我们了解一下...

    jsp文件上传下载

    【jsp文件上传下载】是一个常见的Web开发功能,用于在服务器端处理用户上传的文件并提供文件下载服务。在Java Web环境中,JSP(JavaServer Pages)是常用的动态网页技术,结合Servlet可以实现复杂的文件交互操作。 ...

    使用JSP下载Word和Excel文件

    当你需要让用户从网站上下载Word或Excel文件时,JSP可以扮演关键角色。本篇将详细介绍如何利用JSP实现这一功能,包括核心知识点、步骤解析以及相关的编程技巧。 一、JSP下载原理 在JSP中,我们通常通过Servlet来...

    JSP上传下载组件 包含源码及帮助文档

    JSPSmartUpload是一个功能强大的JSP文件上传组件,它封装了文件上传的复杂过程,包括文件大小检查、类型检查、文件重命名等。开发者可以通过简单的API调用来实现文件上传功能。 **3. 使用步骤** - **创建上传表单**...

    JSP下载文件源代码

    根据给定的信息,本文将详细解释如何使用JSP与SmartUpload插件来实现文件下载功能。这主要包括以下几个方面的内容:理解JSP与SmartUpload的基本概念、解析提供的代码示例、以及深入探讨SmartUpload中的关键方法。 #...

    jsp文件上传下载实例

    在本文中,我们将深入探讨`jsp文件上传下载实例`这一主题,主要关注如何在Java Server Pages (JSP)中实现文件的上传与下载功能。这是一个常见的需求,特别是在开发Web应用程序时,用户可能需要上传文件(如图片、...

Global site tag (gtag.js) - Google Analytics