servlet实现文件下载
public class DownloadServlet extends HttpServlet{
public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
{
try
{
String downFilename=request.getParameter("curfile");
String filepath=request.getParameter("path");
response.setContentType("text/plain");
response.setHeader("Location",downFilename);
response.setHeader("Content-Disposition", "attachment; filename=" + downFilename);
OutputStream outputStream = response.getOutputStream();
InputStream inputStream = new FileInputStream(filepath+downFilename);
byte[] buffer = new byte[1024];
int i = -1;
while ((i = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, i);
}
outputStream.flush();
outputStream.close();
}catch(FileNotFoundException e1)
{
System.out.println("没有找到您要的文件");
}
catch(Exception e)
{
System.out.println("系统错误,请及时与管理员联系");
}
}
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException
{
doPost(request,response);
}
}
web.xml配置:
<servlet>
<servlet-name>download</servlet-name>
<servlet-class>com.dichain.common.tools.DownloadServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>download</servlet-name>
<url-pattern>/Download</url-pattern>
</servlet-mapping>
jsp中调用servlet弹出一个下载对话框:
window.open ('Download?curfile='+curfile+'&path='+path,'newwindow','height=30,width=40,top='+yy+',left='+xx+',toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no');
servlet实现文件下载的更多相关文章
- Servlet处理文件下载的编码问题,乱码。
Servlet处理文件下载的编码问题,乱码. //处理文件名乱码问题 // 获得请求头中的User-Agent String agent = request.getHeader("User- ...
- servlet实现文件下载所需步骤及说明
servlet实现文件下载所需步骤及说明 CreateTime--2017年9月1日15:46:22 Author:Marydon 参考链接:http://blog.sina.com.cn/s/b ...
- Servlet 之文件下载
Servlet 之文件下载 import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; impor ...
- 利用Tomcat内置的servlet实现文件下载功能
起因 最近博客所在的VPS挂了又要重装系统,又要重装各种软件. 以前我也经常更换VPS,每次更换都是各种坑爹事情..比如要下载java.下载tomcat.下载mysql..........以前每次我都 ...
- JQuery调用Servlet实现文件下载
jsp页面上的txt附件,点击后浏览器默认直接打开,结果是乱码. 因为用户上传的txt文件可能是ANSI.Unicode.UTF-8编码的任意一种,上传时后台获取文件内容重写一遍保证浏览器打开正常太过 ...
- Jetty + Servlet 实现文件下载
Jetty非常适合做嵌入式web开发,正如Jetty的口号"Don’t deploy your application in Jetty, deploy Jetty in your appl ...
- jsp使用servlet实现文件下载
1.在index.jsp写入如下代码 <a href="demo2">下载</a> 2.在src中创建ServletDemo2类 public class ...
- Servlet (三) 文件下载(只支持英文文件名)
package cn.sasa.serv; import java.io.FileInputStream; import java.io.IOException; import java.io.Inp ...
- 通过Servlet设置文件下载
文件下载 1.获取要下载的文件的绝对路径 但是使用getServletContext().getRealPath()方法在不同的服务器上所获得的实现是不一样的 因为项目被打包入.war文件以后就失去了 ...
随机推荐
- 了解struts2 action的一些原理
今天在struts2中的 action方法中,打印了一下当前action,即this,还打印了一下当前action引用的service, 在页面中访问该action方法2次,发现action是不一样的 ...
- Socket 一对多通信
服务器(TCPServer.java): package visec; import java.net.*; import java.io.*; public class TCPServer{ pub ...
- Unity的物理引擎是如何实现碰撞的呢?
物理引擎不允许两个碰撞器重叠,当两个或多个物体碰撞时,Unity会根 据他们的旋转速度计算碰撞效果.计算主要根据物体的碰撞器是静止的还 是动态的.物体是不移动的,例如,墙,地面,院子里的喷池等.动态物 ...
- 01.Hibernate入门
前言:本文用一个简单的Hibernate应用程序例子来引领初学者入门,让初学者对Hibernate的使用有一个大致的认识.本文例子使用了MySQL数据库.Maven管理工具.Eclipse开发工具,创 ...
- Eclipse支持Jquery代码提示(JqeuryWTP)
问题描述: Eclipse支持Jquery代码提示 问题解决: 下载 JqueryWTP.jar文件 文件替换 在Eclipse/plugin 路径下, ...
- ptypes中string类的空间分配
问题描述: 在学习ptypes中string类的空间分配时,经常使分配的空间超出实际所需的空间 使用的分配函数是:_alloc函数 注: 在_alloc函数中调用了 ...
- bzoj 1196 二分+生成树判定
我们先二分一个答案,对于每个答案,先加一级公路,如果不够k直接break, 然后再加二级公路,加的过程类似Kruskal. /************************************* ...
- 【bzoj1014】[JSOI2008]火星人prefix
1014: [JSOI2008]火星人prefix Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 6031 Solved: 1917[Submit] ...
- QGraphics
QGraphicsView和QGraphicsScene QGraphicsScene提供一个场景,可以添加各种item,QGraphicsView用于将元素显示,并支持旋转和缩放:可以将QGraph ...
- HDOJ 1429 胜利大逃亡(续)
胜利大逃亡(续) Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su ...