package shopping.shoppingServlet;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@SuppressWarnings("serial")
public class FileDownLoad extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
/**自己笔记上的
* String fname="FileDownLoad.java";
* response.setCharacterEncoding("utf-8");
* fname=java.net.URLEncoder.encode(fname,"utf-8");//定义支持中文的文件名
* response.setHeader("Content-Disposition","attachment;filename="+fname);//定义servlet的功能:输出文件,指明文件位置
* response.setContentType("application/msexcel"); //定义输出类型:excel文件的MIME类型
*/
request.setCharacterEncoding("utf-8");
String filename = request.getParameter("filename");//接收下载文件的名称(页面上的)
System.out.println("filename " + filename);
/**
* 通过response.setHeader("content-Type", "application/x-msdownload")这个头,
* Web服务器需要告诉浏览器其所输出的内容的类型不是普通的文本文件或 HTML 文件,
* 而是一个要保存到本地的下载文件
*/
response.setContentType("application/x-msdownload");//指定响应类型“下载文件”
/**
* 该报头指定了接收程序处理数据内容的方式,在HTTP应用中只有attachment 是标准方式,
* attachment 表示要求用户干预。 在attachment 后面还可以指定 filename 参数,
* 该参数是服务器建议浏览器将实体内容保存到文件中的文件名称。 在设置Content-Dispostion
* 之前一定要指定 Content-Type.
*/
response.setHeader("Content-Disposition", "attachment;filename=" + java.net.URLEncoder.encode(filename, "utf-8"));
// 获取下载文件的真实路径
String realPath = this.getServletContext().getRealPath("/img");
// 获取下载文件的完整路径
String downPath = realPath + "/" + filename;
// 创建文件输入流
FileInputStream fis = new FileInputStream(downPath);
// 创建缓冲输入流
BufferedInputStream bis = new BufferedInputStream(fis);
// 获取响应的输出流
OutputStream os = response.getOutputStream();
// 创建缓冲输出流
BufferedOutputStream bos = new BufferedOutputStream(os);
// 把输入流的数据写入到输出流
byte[] b = new byte[1024];
int len = 0;
while ((len = bis.read(b)) != -1) {
bos.write(b, 0, len);
}
bos.close();
bis.close();
}
}
相关推荐
java servlet实现文件点击下载。 将资源解压后配置在tomcat中,输入http://localhost:8080/DownLoadFileDemo/即可看到点击下载的链接
jsp+servlet实现文件下载(而不是在网页中显示出文件内容) 迅雷下载功能.zip
jsp+servlet实现文件下载。文档中有demo代码,通过配置web.xml,编写servlet类和前台jsp代码,实现下载图片等功能
Servlet实现文件下载源代码 Servlet实现文件下载源代码 Servlet实现文件下载源代码
Servlet实现文件上传与下载 Servlet 文件上传与下载
本人用servelt以及jsp 在tomcat上实现的大型文件下载功能源文件
JSP/servlet实现上传下载 JSP/servlet实现上传下载 JSP/servlet实现上传下载 JSP/servlet实现上传下载
使用Servlet实现文件的上传与下载Demo
本文实例为大家分享了JSP+Servlet实现文件上传到服务器功能的具体代码,供大家参考,具体内容如下 项目目录结构大致如下: 正如我在上图红线画的三个东西:Dao、service、servlet 这三层是主要的结构,类似 MVC ...
使用Servlet实现文件的下载
使用CKEditor3.6.0版本,使用上传组件实现Servlet上传图片,含有列子
实现上传下载,服务器用的是tomcat,将注册信息、文件信息写入xml文件中
java 写的文件上传下载的例子,可以做简单图片文件服务器
ajax+servletajax+servletajax+servletajax+servletajax+servletajax+servletajax+servletajax+servletajax+servletajax+servlet
该资源利用开源upload文件包,成功实现文件上传与下载
页面+处理的SERVLET代码 需要jspSmartUpload组件
jsp+servlet实现文件上传和下载,需要使用commons-fileupload,commons-io.jar java库文件
servlet实现上传文件和下载文件的方法,在浏览器中输入http://ip:port/servletName?path这种方式将客户端文件上传至服务器端,简单的例子,servletName参照web.xml path参照servlet中写的参数
在网上自己找了好久好久。...想实现一个文件批量打包下载的功能, 发现在CSDN上竟然找不到我想要的? 我气愤了!自己动手找各种资料。开始写出了一个列子。 在帮助自己的同时,也希望能帮助各位节省时间。