package servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import bean.WorkDownLoadBean;
/**
* Servlet implementation class WorkDownLoad
*/
public class WorkDownLoad extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public WorkDownLoad() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
WorkDownLoadBean download=new WorkDownLoadBean(request,response);
download.downLoad();
}
}
package bean;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import data.DataConn;
import data.Results;
public class WorkDownLoadBean {
private HttpServletResponse resp;
private HttpServletRequest req;
private File file=null;
private String name="";
public WorkDownLoadBean(HttpServletRequest request,
HttpServletResponse response) {
this.req=request;this.resp=response;
}
public void downLoad() {
getFile();
if(file.exists()){
FileInputStream fileInputStream=null;
try {
fileInputStream=new FileInputStream(file);
resp.setContentType("text/html");
ServletOutputStream out = resp.getOutputStream();
resp.setContentType("application/x-msdownload");
resp.setHeader("Content-Disposition", "attachment; filename=" + new String(name.getBytes("UTF-8"),"iso8859-1") + "");
if (fileInputStream != null) {
byte[] b = new byte[1024];
int i = 0;
while((i = fileInputStream.read(b)) > 0)
{
out.write(b, 0, i);
}
out.flush();
}
fileInputStream.close();
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else{
System.out.println(file.getAbsolutePath() + " 文件不存在!");
return;
}
}
private void getFile(){
DataConn data=DataConn.getInstance();
String filepath=req.getRealPath("/");
int id=-1;
try {
String id_buf=new String(req.getParameter("id").getBytes("ISO8859_1"),"UTF-8").toString();
id=Integer.parseInt(id_buf.trim());
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
PreparedStatement call=null;
try {
call=data.getConnection().prepareStatement("call findworks(?)");
call.setInt(1, id);
ResultSet set=call.executeQuery();
while(set.next()){
filepath+=set.getString("link").substring(2).replace('/','\\');
name=set.getString("name");
}
System.out.print(filepath);
file=new File(filepath);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
servlet下载文件
jsp+servlet实现文件下载(而不是在网页中显示出文件内容) 迅雷下载功能.zip
自己用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/即可看到点击下载的链接
基于servlet的文件下载代码基于servlet的文件下载代码基于servlet的文件下载代码基于servlet的文件下载代码基于servlet的文件下载代码基于servlet的文件下载代码基于servlet的文件下载代码基于servlet的文件下载代码...
NULL 博文链接:https://liyaxi.iteye.com/blog/467618
Servlet实现文件上传与下载 Servlet 文件上传与下载
实现流程:获取项目文件夹所有文件,并以列表形式显示在页面上,可选择性下载
servlet下载文件简单代码
Servlet文件下载
java实现jsp+servlet文件下载及批量下载,mvc分层技术
java 写的文件上传下载的例子,可以做简单图片文件服务器
javaservlet帮助文档,javaservlet帮助文档,javaservlet帮助文档,javaservlet帮助文档,javaservlet帮助文档,javaservlet帮助文档,javaservlet帮助文档
Servlet中文件上传和下载,页面使用jsp里面实例化对象使用Javabean
包含翻译后的API文档:javax.servlet-api-4.0.0-javadoc-API文档-中文(简体)版.zip; Maven坐标:javax.servlet:javax.servlet-api:4.0.0; 标签:javax、servlet、api、中文文档、jar包、java; 使用方法:解压翻译...
servlet api文档 servlet api说明文档servlet api说明文档
Servlet实现文件下载public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException{ String str = this.getServletContext().getRealPath("/download/隐形的翅膀 -...
这是一个使用servlet实现下载功能的小例子程序, 是一个完成的项目,使用netbeans开发的. 方便自己,方便别人
使用Servlet实现文件的上传与下载Demo
解压 【javax.servlet-api-***.jar中文文档.zip】,再解压其中的 【javax.servlet-api-***-javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档...