Servlet实现文件,图片等的下载 含代码
实现文件的下载源代码如下:
package com.fxl.servlet;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Servlet2 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
//演示下载文件
response.setHeader("Content-Disposition", "attachment;filename=1.docx");
//打开文件。
//1 获取要下载文件的全路径
String path=this.getServletContext().getRealPath("/1.docx");
//2 创建文件输入流
FileInputStream fis=new FileInputStream(path);
//做一个缓存字节数组
byte buff[]=new byte[1024];
int len=0;//表示实际每次读取了多少个字节
OutputStream os=response.getOutputStream();
while((len=fis.read(buff))>0){
os.write(buff,0,len);
}
//关闭
os.close();
fis.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}
}
如果要下载图片,MP3,视频,只需要修改斜体部分即可。
在浏览器中输入http://localhost:8080/ch08/Servlet2
运行结果如下:(点击下载即可下载的指定目录下)
最新文章
- 转载:Centos7 从零编译Nginx+PHP+MySql 二
- 使用Docker搭建Java Web运行环境
- matlab中实现Gabor滤波器
- Linux就这个范儿 第19章 团结就是力量 LSB是Linux标准化基地(Linux Standards Base)的简称
- Sql Server 2005 开发版亲測可用下载地址
- (转)JSON对象长度和遍历方法
- java web简易网上书店项目系列,使用MVC模式(servlet+jstl+dbutils),开篇
- javascript 回调函数应用
- cocos坐标系及坐标转换
- iOS 10.0之前和之后的Local Notification有神马不同
- ASP.NET中直接用C# 动态修改CSS样式
- [翻译]60,000毫秒内对Linux进行性能诊断
- unset MAILCHECK
- stl源码剖析 详细学习笔记 RB_tree (2)
- {{jQuery源码分析}}jQuery对象初始化的多种传参数形式
- Tomcat介绍 安装jdk 安装Tomcat
- 百度前端学院js课堂作业合集+分析(更新中...)
- require('nw.gui') 失效问题
- 【agc019F】Yes or No
- nats