文件下载的Servlet

servlet|下载

//文件下载的Servlet

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

public class downloadfile extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
//Initialize global variables
public void init() throws ServletException {
}
//Process the HTTP Post request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);

String pathsavefile;//要下载的文件
String fileName;//保存窗口中显示的文件名
fileName=response.encodeURL(new String(fileName.getBytes(),"ISO8859_1"));//转码

try
{
response.reset();
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition", "attachment; filename=\""+fileName+"\"");
ServletOutputStream out = response.getOutputStream();
InputStream inStream=new FileInputStream(pathsavefile);
//循环取出流中的数据
byte[] b = new byte[1024];
int len;
while((len=inStream.read(b)) >0)
out.write(b,0,len);
}
out.close();
inStream.close();
}
catch (Exception e)
{
System.out.println(e);
}

}
//Clean up resources
public void destroy() {
}
}

时间: 2025-01-30 11:19:04

文件下载的Servlet的相关文章

JavaWeb实现文件上传下载功能实例解析_java

在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件.这个common-fileupload上传组件的jar包可以去apache官网上面下载,也可以在struts的lib文件夹下面找到,stru

最详细的文件上传下载实例详解(推荐)_java

在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件.这个common-fileupload上传组件的jar包可以去apache官网上面下载,也可以在struts的lib文件夹下面找到,stru

servlet实现文件下载的实用类分享

 servlet文件下载类,为了防止客户端浏览器直接打开目标文件,在响应头里加入强制下载的MIME类型,大家参考使用吧   代码如下: package com;   import java.io.IOException; import java.io.PrintWriter; import java.net.URLEncoder; import java.util.Date;   import javax.servlet.ServletException; import javax.servle

servlet的文件下载,请问服务器端有办法知道客户端是否关闭了下载窗口吗?

问题描述 客户端网页调用servlet执行文件下载(response输出流),如果下载过程中:1)用户关闭了下载窗口2)用户关闭了当前标签页(浏览器tab)3)用户关闭了浏览器窗口请问服务器端有没有办法知道这些事件呢?恳请高人指点! 解决方案 解决方案二:不能知道,不过你如果用的servlet3+tomcat7应该是可以知道

servlet实现文件下载的实用类分享_JSP编程

复制代码 代码如下: package com; import java.io.IOException;import java.io.PrintWriter;import java.net.URLEncoder;import java.util.Date; import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;i

servlet 文件下载及注意事项

servlet|下载     首先转贴注意事项: 在论坛里,已经有先进说明过如何在 Servlet / JSP 中,利用 HTTP Protocol 实作动态的档案下载服务.这一项功能个人在系统开发中,用的很多,也遇到过几个问题,想将这些经验分享给大家,希望对大家能有帮助. 1. MS IE 版本的问题   if (request.getHeader("User-Agent").indexOf("MSIE 5.5") != -1) {     // MS IE5.5

servlet在后台文件下载后打算刷新页面报错

问题描述 response.addHeader("Content-Disposition","attachment;filename="+newString(filename.getBytes()));OutputStreamout=newBufferedOutputStream(response.getOutputStream());response.setContentType("application/octet-stream");....

Servlet文件下载的时候自动打开文件解决办法

 代码如下 复制代码 response.addHeader("Content-Disposition", "attachment; filename=" + response.encodeURL(downloadfile));

java js-java servlet这是单个下载,怎么打包批量下载

问题描述 java servlet这是单个下载,怎么打包批量下载 package cn.szusst.aqms.action.common; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import javax.servlet.ServletE