- 浏览: 723355 次
- 性别:
- 来自: 黑龙江
文章分类
- 全部博客 (476)
- web 前端处理 (57)
- 工具类 (33)
- jsp servlet (15)
- html5 (4)
- Hadoop学习笔记 (30)
- linux (25)
- java (45)
- ibatis (5)
- css (10)
- html table (1)
- struts2 (11)
- hibernate (10)
- spring (27)
- server2005 函数学习 (5)
- 一些工具软件记载 (18)
- 数据库 (17)
- cache (2)
- eclipse (7)
- 英文记录 (1)
- 技术扩展了解 (8)
- 加密 (1)
- 服务器 (6)
- 设计模式 (5)
- 管理与沟通 (3)
- Andorid开发 (54)
- javascript基础 (20)
- Extjs (15)
- 文档使用 (1)
- 线程 (11)
- ant与Log (4)
- 异常记载 (1)
- 架构 (6)
- 脚本 (1)
- SparkSQL (3)
- python (6)
最新评论
-
浮生一如梦:
[b][i][u][list]
[*][img][url][f ...
字节,字节数组输入输出流ByteArrayInputStream,ByteArrayOutputStream理解 -
java_frog:
httpclient4里才有default
DefaultHttpClient使用 -
lizhenlzlz:
lizhenlzlz 写道HttpHost proxy = n ...
DefaultHttpClient使用 -
lizhenlzlz:
HttpHost proxy = new HttpHost(& ...
DefaultHttpClient使用 -
kennykinte:
methodGet()方法里
HttpPost httpGet ...
DefaultHttpClient使用
mport cn.javass.ssonline.upload.util.UploadUtils;
import java.io.*;
import java.net.URLDecoder;
import java.net.URLEncoder;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DownloadServlet extends HttpServlet
{
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
doPost(req, resp);
}
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{
//只允许有一个参数 filename
String filename = new String(req.getQueryString().getBytes("ISO-8859-1"), "UTF-8").substring(9);
if ((filename == null) || (filename.trim().length() == 0) || (filename.contains("\\.\\."))) {
resp.setContentType("text/html;charset=utf-8");
resp.getWriter().write("您下载的文件不存在!");
return;
}
download(req, resp, filename);
}
private void download(HttpServletRequest request, HttpServletResponse response, String filename)
{
String userAgent = request.getHeader("User-Agent");
boolean isIE = (userAgent != null) && (userAgent.toLowerCase().indexOf("msie") != -1);
try
{
filename = URLDecoder.decode(filename, "UTF-8");
String filePath = UploadUtils.getUploadDir(request) + filename;
File file = new File(filePath);
if ((!(file.exists())) || (!(file.canRead()))) {
response.setContentType("text/html;charset=utf-8");
response.getWriter().write("您下载的文件不存在!");
return;
}
byte[] buf = new byte[1024];
int len = 0;
BufferedInputStream br = null;
OutputStream ut = null;
response.reset();
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "must-revalidate, no-transform");
response.setDateHeader("Expires", 0L);
String displayFilename = filename.substring(filename.lastIndexOf("_") + 1);
displayFilename = displayFilename.replace(" ", "_");
response.setContentType("application/x-download");
displayFilename = "[私塾在线学习网]"+displayFilename;
if (isIE) {
displayFilename = URLEncoder.encode(displayFilename, "UTF-8");
response.setHeader("Content-Disposition", "attachment;filename=\"" + displayFilename + "\"");
} else {
displayFilename = new String(displayFilename.getBytes("UTF-8"), "ISO8859-1");
response.setHeader("Content-Disposition", "attachment;filename=" + displayFilename);
}
br = new BufferedInputStream(new FileInputStream(file));
ut = response.getOutputStream();
while ((len = br.read(buf)) != -1)
ut.write(buf, 0, len);
}
catch (Exception e) {
e.printStackTrace();
}
}
}
import java.io.*;
import java.net.URLDecoder;
import java.net.URLEncoder;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DownloadServlet extends HttpServlet
{
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
doPost(req, resp);
}
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{
//只允许有一个参数 filename
String filename = new String(req.getQueryString().getBytes("ISO-8859-1"), "UTF-8").substring(9);
if ((filename == null) || (filename.trim().length() == 0) || (filename.contains("\\.\\."))) {
resp.setContentType("text/html;charset=utf-8");
resp.getWriter().write("您下载的文件不存在!");
return;
}
download(req, resp, filename);
}
private void download(HttpServletRequest request, HttpServletResponse response, String filename)
{
String userAgent = request.getHeader("User-Agent");
boolean isIE = (userAgent != null) && (userAgent.toLowerCase().indexOf("msie") != -1);
try
{
filename = URLDecoder.decode(filename, "UTF-8");
String filePath = UploadUtils.getUploadDir(request) + filename;
File file = new File(filePath);
if ((!(file.exists())) || (!(file.canRead()))) {
response.setContentType("text/html;charset=utf-8");
response.getWriter().write("您下载的文件不存在!");
return;
}
byte[] buf = new byte[1024];
int len = 0;
BufferedInputStream br = null;
OutputStream ut = null;
response.reset();
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "must-revalidate, no-transform");
response.setDateHeader("Expires", 0L);
String displayFilename = filename.substring(filename.lastIndexOf("_") + 1);
displayFilename = displayFilename.replace(" ", "_");
response.setContentType("application/x-download");
displayFilename = "[私塾在线学习网]"+displayFilename;
if (isIE) {
displayFilename = URLEncoder.encode(displayFilename, "UTF-8");
response.setHeader("Content-Disposition", "attachment;filename=\"" + displayFilename + "\"");
} else {
displayFilename = new String(displayFilename.getBytes("UTF-8"), "ISO8859-1");
response.setHeader("Content-Disposition", "attachment;filename=" + displayFilename);
}
br = new BufferedInputStream(new FileInputStream(file));
ut = response.getOutputStream();
while ((len = br.read(buf)) != -1)
ut.write(buf, 0, len);
}
catch (Exception e) {
e.printStackTrace();
}
}
}
发表评论
-
uploadify上传的使用
2014-06-19 17:09 01 官方文档 http://www.up ... -
uploadify上传的使用
2014-06-19 17:07 01 官方文档 http://www.u ... -
自定义标签使用
2013-06-13 17:45 914在jsp页面使用此自定义标签 1 创建自定义标 ... -
过滤器(权限过滤器和编码过滤器)
2013-03-08 17:03 0本篇文章是介绍javax.servlet包中Filter的几 ... -
权限过滤器
2013-03-08 16:54 01 过滤器类 public ... -
JSP返回xml数据
2013-02-26 09:28 1638<%@ page contentType= ... -
jsp实现 页面excel的导出
2013-02-26 09:22 1118<%@ page contentType ... -
缓存与session的清理
2013-02-20 17:34 5371jsp清除缓存 cookie 一、清除页面缓存 ... -
servlet cookie 操作
2013-02-18 11:52 928class { public void wr ... -
servlet基础记载
2013-01-03 17:15 819自己作为记载用: 1 得到项目目录 reques ... -
获得客户端IP
2012-11-21 15:37 0String ip = request. ... -
select 过长处理
2012-11-06 14:16 219后台对较长的选项内容剪裁,并把完整的信息放在option的ti ... -
文件下载 jsp
2012-09-28 13:10 540个人理解:文件下载就是将服务器的文件以流的形式输出给 ... -
commons-upload使用
2012-09-28 09:19 1153其中有文件大小与文件的格式处理。 <% ... -
上传下载 ajax
2012-09-28 08:49 0数据备份,自己 使用 其中上传成 ... -
response记录
2012-09-21 16:01 884用这个停止jsp下面代码继续使用。 res ... -
jstl 标签
2012-09-18 09:42 952<%@ taglib uri="ht ... -
smartupload文件上传与下载
2012-09-10 15:46 1346==上传 <%@ page contentType ... -
验证码2
2012-08-24 09:25 0<li>验 证 码: <input ... -
jsp tag标签的使用
2012-07-24 16:15 1189页面 tag 的使用 1 创建一个tag文件 我的测试目录 ...
相关推荐
文件下载servlet,java文件下载。
基于servlet的文件下载代码基于servlet的文件下载代码基于servlet的文件下载代码基于servlet的文件下载代码基于servlet的文件下载代码基于servlet的文件下载代码基于servlet的文件下载代码基于servlet的文件下载代码...
Servlet实现文件上传与下载 Servlet 文件上传与下载
jsp+servlet实现文件下载(而不是在网页中显示出文件内容) 迅雷下载功能.zip
Servlet文件下载
文件的上传,文件下载列表的展示,及下载文件
赠送原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写的文件上传及下载功能带进度条 主要用到两个jar:commons-fileupload-1.2.2.jar和commons-io-2.0.1.jar 内容介绍: com.fm.FileManagerService:一个servlet用来实现主要的文件上传下载逻辑的 ...
java servlet实现文件点击下载。 将资源解压后配置在tomcat中,输入http://localhost:8080/DownLoadFileDemo/即可看到点击下载的链接
java实现jsp+servlet文件下载及批量下载,mvc分层技术
Servlet实现文件下载public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException{ String str = this.getServletContext().getRealPath("/download/隐形的翅膀 -...
java 写的文件上传下载的例子,可以做简单图片文件服务器
servlet下载文件
解压 【javax.servlet-api-***.jar中文文档.zip】,再解压其中的 【javax.servlet-api-***-javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档...
Servlet中文API文档 Servlet中文API文档Servlet中文API文档
这是一个使用servlet实现下载功能的小例子程序, 是一个完成的项目,使用netbeans开发的. 方便自己,方便别人
解压 【javax.servlet-api-***.jar中文文档.zip】,再解压其中的 【javax.servlet-api-***-javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档...
JavaServlet文件上传和下载,java初学者笔记!
servlet api文档 servlet api说明文档servlet api说明文档
这是一份关于2.1版Java Servlet API的说明文档,作为对这本文档的补充。 1.2 谁需要读这份文档 这份文档描述了Java Servlet API的最新版本2.1版。所以,这本书对于Servlet的开发者及servlet引擎的开发者同样...