`

下载文件Servlet

 
阅读更多
package com.baitw.struts.utils;

import javax.servlet.*;
import javax.servlet.http.*;

import java.io.*;

public class FileDownLoad extends HttpServlet {

	/**
	 * @fields serialVersionUID
	 */
	private static final long serialVersionUID = 1L;
	private static final String CONTENT_TYPE = "text/html; charset=GBK";

	public void init() throws ServletException {
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		OutputStream out = response.getOutputStream();

		request.setCharacterEncoding("GBK");
		response.setContentType("application/octet-stream;charset=iso-8859-1");
		response.setHeader(
				"Content-disposition",
				"attachment;filename=\""
						+ java.net.URLEncoder.encode(
								new String("zzbus.apk".getBytes("iso-8859-1")),
								"UTF-8") + "\"");
		FileInputStream fis = null;

		try {
			fis = new FileInputStream(
					"D:\\6.0.35\\webapps\\ROOT\\software\\zzbus.apk");

			byte[] buffer = new byte[1024];
			int byteRead = -1;
			while ((byteRead = fis.read(buffer)) != -1) {
				out.write(buffer, 0, byteRead);
			}
			out.flush();
		} catch (Exception ex) {
			response.setContentType(CONTENT_TYPE);
			response.setHeader("Content-disposition", "inline");
			out.write("文件未找到".getBytes());
			out.close();
			ex.printStackTrace();
		}
		if (fis != null) {
			fis.close();
		}
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(req, resp);
	}

	public void destroy() {
	}
}

package com.findjar.servlet;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class FileDownLoad extends HttpServlet {
	
	/**
	 * @fields serialVersionUID
	 */
	private static final long serialVersionUID = 1L;
	private static final String CONTENT_TYPE = "text/html; charset=GBK";

	public void init() throws ServletException {
	}

	public void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String src_name = (String) request.getParameter("src");
		String path = request.getParameter("path");
		String realPath = request.getRealPath("resources");
		if (path != null) {
			realPath = request.getRealPath(path);
		}
		StringBuffer sb = new StringBuffer(realPath);
		sb.append("/");
		sb.append(src_name);
		String dst_name = (String) request.getParameter("dst");
		OutputStream out = response.getOutputStream();

		request.setCharacterEncoding("GBK");
		response.setContentType("application/octet-stream;charset=iso-8859-1");
		response.setHeader(
				"Content-disposition",
				"attachment;filename=\""
						+ java.net.URLEncoder.encode(
								new String(dst_name.getBytes("iso-8859-1")),
								"UTF-8") + "\"");
		FileInputStream fis = null;

		try {
			fis = new FileInputStream(sb.toString());

			byte[] buffer = new byte[1024];
			int byteRead = -1;
			while ((byteRead = fis.read(buffer)) != -1) {
				out.write(buffer, 0, byteRead);
			}
			out.flush();
		} catch (Exception ex) {
			response.setContentType(CONTENT_TYPE);
			response.setHeader("Content-disposition", "inline");
			out.write("文件未找到".getBytes());
			out.close();
			ex.printStackTrace();
		}
		if (fis != null) {
			fis.close();
		}
	}

	public void destroy() {
	}
}
分享到:
评论

相关推荐

    servlet文件下载项目

    在这个"Servlet文件下载项目"中,我们利用Servlet技术来实现文件的下载功能。这是一个非常实用的功能,尤其对于那些需要向用户提供文件下载服务的网站或应用。 首先,我们需要了解Servlet的基本工作原理。Servlet是...

    servlet 文件上传下载例子

    在这个"Servlet 文件上传下载例子"中,我们将探讨如何使用Servlet实现文件的上传和下载功能,这对于构建一个简单的图片文件服务器至关重要。 1. **文件上传** - **MultipartRequest**: 在Servlet中,处理文件上传...

    servlet-api.jar 下载地址

    Servlet-api.jar是Java Web开发中不可或缺的一个库文件,它包含了Servlet和JSP(JavaServer Pages)规范的API接口。这个库文件主要用于与Web服务器交互,处理HTTP请求,并生成响应。在本文中,我们将深入探讨Servlet...

    文件上传与下载servlet

    在IT行业中,文件上传与下载是Web应用中常见的功能,特别是在企业级系统中,例如文档管理系统、在线教育平台等。Servlet作为Java Web开发中的一个重要组件,常被用来处理这些操作。下面将详细介绍如何使用Servlet...

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

    这个链接会指向一个`servlet`,由`servlet`来处理实际的文件读取和下载逻辑。 1. **创建Servlet**:首先,我们需要创建一个自定义的`servlet`,例如`FileDownloadServlet`。在`src`目录下的Java源代码文件中,我们...

    java servlet实现文件下载

    本示例中,我们将探讨如何使用Java Servlet来实现文件的下载功能。 首先,理解HTTP协议是至关重要的,因为它定义了客户端(浏览器)与服务器之间的通信方式。在文件下载场景中,服务器需要响应一个HTTP请求,该请求...

    文件下载servlet

    文件下载servlet,java文件下载。

    javax.servlet-api-4.0.0-API文档-中文版.zip

    赠送原API文档:javax.servlet-api-4.0.0-javadoc.jar; 赠送源代码:javax.servlet-api-4.0.0-sources.jar; 赠送Maven依赖信息文件:javax.servlet-api-4.0.0.pom; 包含翻译后的API文档:javax.servlet-api-4.0.0...

    servlet上传下载文件

    Servlet技术广泛应用于文件上传和下载的功能实现,因为它们可以方便地与客户端交互并处理数据流。在本例中,我们将深入探讨如何使用Servlet来实现文件上传和下载功能。 首先,让我们了解文件上传的基本流程。当用户...

    文件上传下载servlet自用

    在IT行业中,文件上传下载是Web应用中常见的功能,尤其在服务器端编程中,Servlet扮演着重要的角色。Servlet是Java编程语言中用于扩展服务器功能的接口,它可以在接收到HTTP请求后进行处理,并向客户端返回响应。在...

    用servlet写的文件上传及下载功能带进度条

    自己用servlet写的文件上传及下载功能带进度条 主要用到两个jar:commons-fileupload-1.2.2.jar和commons-io-2.0.1.jar 内容介绍: com.fm.FileManagerService:一个servlet用来实现主要的文件上传下载逻辑的 ...

    Servlet中文件上传和下载

    本文将深入探讨如何在Servlet中实现文件的上传和下载功能,以及在页面上利用JSP和Javabean来实例化对象。 首先,文件上传是通过HTTP多部分请求(Multipart Request)来实现的。Servlet 3.0及以上版本提供了对这种...

    jsp,servlet上传下载文件

    jsp、servlet 文件上传下载技术详解 文件上传下载是 Web 应用中的一种常见需求,使用 jsp 页面和 servlet 实现文件上传下载是其中的一种解决方案。下面将详细介绍 jsp、servlet 文件上传下载技术。 文件上传下载...

    jsp+servlet文件下载及批量下载

    java实现jsp+servlet文件下载及批量下载,mvc分层技术

    基于servlet的文件下载代码

    特别是在企业级应用中,用户经常需要下载诸如报告文档、数据备份等文件。Java Servlet作为一种强大的服务器端技术,可以很好地实现这一功能。本文将详细介绍一个基于Servlet的文件下载代码示例,并对其实现原理进行...

    jsp+servlet实现文件上传下载

    ### jsp+servlet实现文件上传下载 在现代Web开发中,文件上传下载是常见的功能之一。JSP(JavaServer Pages)与Servlet技术结合可以轻松实现这一功能。本篇将详细介绍如何利用jspSmartUpload组件实现文件的上传与...

    答Servlet下载文件的附件

    这篇博客"答Servlet下载文件的附件"可能涉及了如何利用Servlet来实现文件的下载功能,让我们深入探讨这个话题。 首先,我们需要了解Servlet生命周期中的service()方法。当一个HTTP请求到达服务器,Servlet容器(如...

    servlet实现文件上传下载

    本教程将详细讲解如何使用Servlet实现文件的上传和下载功能,其中涉及到的主要技术点包括Servlet API、Multipart解析以及文件流操作。 首先,我们需要了解Servlet在文件上传中的作用。Servlet在接收到客户端(通常...

    javax.servlet-api-4.0.1.jar中文文档.zip

    解压 【javax.servlet-api-***.jar中文文档.zip】,再解压其中的 【javax.servlet-api-***-javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档...

    Servlet实现多文件批量下载

    在本示例中,我们探讨的是如何使用Servlet来实现多文件的批量下载功能。批量下载通常涉及到将多个文件打包成一个压缩文件,然后提供给用户下载,这样可以极大地提高下载效率,尤其当用户需要下载大量小文件时。 ...

Global site tag (gtag.js) - Google Analytics