servlet 实现下载文件
servlet:
public class UpAndDownServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
String type = request.getParameter("type");
if("down".equals(type)){
File file = new File("D:\\test\\44444.png");
FileInputStream is = new FileInputStream(file);
BufferedInputStream bs = new BufferedInputStream(is);
ServletOutputStream os = response.getOutputStream();
BufferedOutputStream bos = new BufferedOutputStream(os);
String date = new SimpleDateFormat("yyyy-HH-dd").format(new Date());
String fileName = date + ".jpg";
response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
byte[] len = new byte[1024*2];
int read = 0;
while((read=is.read(len)) != -1){
bos.write(len, 0, read);
System.out.println("read---"+read);
}
bos.flush();
bos.close();
is.close();
}
}
}
怎样实现文件下载
要实现文件下载,我们仅仅须要设置两个特殊的对应头,它们是什么头?假设文件名称带中文,该怎样解决?
两个特殊的对应头:
----Content-Type: application/octet-stream
----Content-Disposition: attachment;filename=aaa.zip
比如:
response.setContentType("image/jpeg");response.setHeader("Content- Disposition","attachment;filename=Bluehills.jpg");页面:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>down</title>
</head>
<body>
<form action="servlet/UpAndDownServlet?type=down" method="post">
<input type="submit" value="下载">
</form>
</body>
</html>
相关文章
- ServletContext对象使用和文件下载案例
- Java 文件上传与下载
- 使用FreeFileSync文件备份工具进行差异备份方法
- JAVA下载文件代码「建议收藏」
- 渗透测试|CobaltStrike配置C2-profile文件【加密流量实现免杀】
- AB 触摸屏 PanelView Plus 上手入门指南(附官方文件下载)
- 【Android 逆向】GDA 逆向工具安装 ( GDA 下载 | GDA 简介 | 运行 GDA 分析 APK 文件 )
- 修复 GitLab 的 CI Runner 提示找不到 pwsh 执行文件
- Linux的文件和目录操作
- Servlet多文件打包下载详解编程语言
- 用Servlet把文件写到Respond输出流里面供用户下载详解编程语言
- 件的操作Linux图形界面中文件操作指南(linux图形界面中文)
- Linux查看文件系统分区的技巧(linux查看文件分区)
- 初探Linux:免费下载iso文件安装(linux.iso下载)
- Linux清空日志文件的方法(linux清空日志内容)
- Chromium自动为Debian用户下载了可监听语音的二进制文件
- Linux中文件执行命令的指引(linux执行文件的命令)
- Linux下修改文件权限的技巧(linux修改 文件权限)
- Linux文件无法删除,解决方法你需要知道!(linux文件不可删除)
- 如何使用Linux拷贝文件(linux 怎么拷贝文件)
- 管理Redis中过期文件的有效方式(redis过期文件)
- JSP多个文件打包下载代码
- 让PHP更快的提供文件下载的代码
- c语言读取obj文件转换数据的小例子
- php强制下载文件实现代码