个人理解:文件下载就是将服务器的文件以流的形式输出给客户端即输出到response的流中,但要设置输出的类型为下载类型
<%@page language="java" contentType="text/html; charset=UTF-8" import="java.io.*,java.net.* l" pageEncoding="UTF-8"%> <%request.setCharacterEncoding("UTF-8"); %> <% //查询实体得到文件全路径 String fileurl=FileUploadConstants.getPropValue("BASE_PATH")+UploadUtil.getSavePath("EDUCATION_PATH")+ File.separator+uploadInfo.getDocPath() ; String filename=entity.getOldName() ; //System.out.print(fileurl+" "+filename ); OutputStream output = null; FileInputStream fis = null; File file = new File( fileurl ); if( !file.exists() ){ response.getWriter().print ("<script language='javascript'>alert('文件不存在');this.history.go(-1);</script>"); response.getWriter().close(); }else{ try { response.reset();//可以加也可以不加 response.setContentType("application/x-download");//设置为下载application/x-download String userAgent = request.getHeader("User-Agent"); boolean isIE = (userAgent != null) && (userAgent.toLowerCase().indexOf("msie") != -1); if (isIE) { filename = URLEncoder.encode(filename, "UTF-8"); response.setHeader("Content-Disposition", "attachment;filename=\"" + filename + "\""); } else { filename = new String(filename.getBytes("UTF-8"), "ISO8859-1"); response.setHeader("Content-Disposition", "attachment;filename=" + filename); } output = response.getOutputStream(); fis = new FileInputStream(file); byte[] b = new byte[1024]; int i = 0; while((i = fis.read(b)) > 0) { output.write(b, 0, i); } output.flush(); output.close(); out.clear(); out=pageContext.pushBody(); out.close(); } catch(Exception e) { e.printStackTrace(); //System.out.print(1); }finally{ if(output!=null){ output.close(); output = null; } } } %>
相关推荐
文件下载的应用场景非常广泛,例如下载文档、图片、视频等文件。在本代码中,我们使用了jsp页面来实现文件下载,该代码适用于jsp、struts、spring或ssh三个框架中。 7. 代码优化 代码优化是指对代码进行优化,以...
jsp 实现 文件下载 jspsmartupload
在Java Web开发中,JSP(JavaServer Pages)常常用于创建动态网页,配合Servlet处理用户交互,例如文件的上传和下载。本项目专注于解决在JSP中实现文件上传和下载时遇到的一些常见问题,特别是针对中文文件名的处理...
在这个场景下,我们关注的是如何在JSP页面中实现文件的下载功能。这个功能在很多网站上都常见,例如提供文档、软件或其他资源的下载服务。下面我们将详细探讨如何实现这一功能。 首先,为了创建一个下载链接,你...
"JSP实现文件上传与下载" JSP(Java Server Pages)是一种动态网页技术,用于开发基于Web的应用程序。JSP技术可以和其他Java技术集成,实现复杂的Web应用程序。下面是JSP实现文件上传与下载的知识点总结: 一、JSP...
"基于jsp的文件上传下载"是Web应用程序中的常见需求,涉及到客户端与服务器之间的数据交互。本项目详细阐述了如何利用JSP实现文件的上传和下载功能。 首先,文件上传涉及的主要技术有HTML表单、Servlet和多部分请求...
本话题关注的是如何在JSP页面上实现文件下载功能,这对于构建一个交互性强、功能丰富的Web应用是至关重要的。以下我们将详细探讨这个主题。 首先,我们需要理解JSP页面的基本结构和工作原理。JSP页面由HTML、CSS、...
### 使用JSP下载Excel文件知识点解析 #### 一、引言 在Web开发中,经常需要将服务器上生成的数据导出为Excel文件供用户下载。本文档将详细介绍如何使用Java Server Pages (JSP) 实现从服务器端下载Excel文件到...
在Java和JSP中,实现文件下载是一项常见的任务,它涉及到服务器与客户端之间的交互,以及对文件流的处理。下面将详细讲解如何使用Java和JSP来实现这一功能。 首先,我们从`downloadtool.jsp`开始,这是一个用户界面...
在这个场景中,"用JSP下载word文件(不会直接用IE打开.rar"的描述表明我们要实现一个功能,即用户点击链接后,JSP页面能够提供Word文件的下载,而不是直接在浏览器中打开文件。这通常涉及到HTTP响应头的设置以及正确...
总结,使用JSP下载Word和Excel文件涉及了JSP基础、Servlet交互、HTTP响应头设置以及文件流处理等技术。掌握这些知识点,你可以构建一个功能完善的文件下载系统,为用户提供方便的文件下载服务。
JSP 实现文件上传下载 在本文中,我们将学习如何使用 JSP 实现文件上传和下载功能。在这个过程中,我们将使用 Apache 的 Commons FileUpload 和 Commons IO 两个库来处理文件上传和下载。 首先,让我们了解一下...
在本文中,我们将深入探讨如何使用JSP(JavaServer Pages)和jspSmartUpload库来实现文件的上传与下载功能。JSP是一种动态网页技术,它允许开发者在HTML中嵌入Java代码,从而创建交互式的Web应用程序。而jsp...
在实际应用中,文件的上传和下载是常见的功能需求,例如用户提交简历、分享文档等。在本示例中,我们将探讨如何使用SmartUpload库来实现JSP中的文件上传与下载。 SmartUpload是一个强大的文件上传组件,它简化了在...
总之,JSPSmartUpload组件为JSP开发中的文件上传和下载提供了便利,通过深入研究源码和文档,开发者可以更好地理解文件上传下载的原理,提高开发效率。同时,提供的实例和帮助文件使得学习和应用变得更加直观和简单...
下面,我们将深入探讨如何在JSP中实现文件上传和下载。 首先,我们需要了解HTTP协议中的POST请求在文件上传中的作用。在JSP中,文件上传通常涉及到表单(form)元素,特别是`<input type="file">`标签,它允许用户...
根据给定的信息,本文将详细解释如何使用JSP与SmartUpload插件来实现文件下载功能。这主要包括以下几个方面的内容:理解JSP与SmartUpload的基本概念、解析提供的代码示例、以及深入探讨SmartUpload中的关键方法。 #...
`jspSmartUpload`是一个非常实用的库,它简化了处理文件上传和下载的复杂性。本文将深入探讨如何使用`jspSmartUpload`来实现这两个功能,并详细解释其工作原理和相关知识点。 首先,`jspSmartUpload`是一个基于Java...
【jsp文件上传下载】是一个常见的Web开发功能,用于在服务器端处理用户上传的文件并提供文件下载服务。在Java Web环境中,JSP(JavaServer Pages)是常用的动态网页技术,结合Servlet可以实现复杂的文件交互操作。 ...
`JSPSmart`是一款专为Java Web开发设计的上传下载文件组件,它简化了在Web应用程序中处理文件上传和下载的复杂性,使得开发者能够更高效、安全地管理用户交互的文件操作。这个组件不仅包含了基本的文件传输功能,还...