javaweb之文件下载
2023-09-27 14:26:51 时间
效果图
- 每个浏览器弹出窗口有差异,我用的是QQ浏览器
目录结构
核心代码
package servlet;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DownServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1,接收前台参数,. 获取要下载的文件名Readme.txt
String fileName = request.getParameter("filename");
//2. 获取Readme.txt在tomcat里面的绝对路径
String path = getServletContext().getRealPath("files/"+fileName);
//3,设置响应头,提示用户,自定义下载
response.setHeader("Content-Disposition", "attachment; filename="+fileName);
//4. 转化成输入流
InputStream is = new FileInputStream(path);
OutputStream os = response.getOutputStream();
int len = 0 ;
byte[]buffer = new byte[1024];
while( (len = is.read(buffer)) != -1){
os.write(buffer, 0, len);
}
os.close();
is.close();
}
}
index.html代码
<h2><a href="DownServlet?filename=Readme.txt">点击下载Readme.txt</a></h2>
案例链接
链接:https://pan.baidu.com/s/1_I1IsSnJrnmWrumvHsDajA
提取码:cv5k
相关文章
- 使用zip命令删除压缩包中的某个文件?(不解压),向压缩包增加文件?
- 如何精简Unity中使用的字体文件
- flutter网络请求dio的get、post、上传文件、下载文件总结
- Linux有问必答:如何修复“运行aclocal失败:没有该文件或目录”
- Python编程-基础知识-python项目包和文件的管理以及如何引用相对路径的包和模块
- 在ubuntu下搜索文件的几种方式
- vue文件下载
- post下载文件到本地-兼容ie
- Android布局文件layout.xml的一些属性值
- php文件下载
- Qt编写推流综合应用示例-文件推流
- Eclipse中jsp、js文件编辑时,卡死现象解决汇总
- logback同时输出到控制台和文件--配置开箱即用
- macOS SwiftUI教程之打开文件并获取本地文件的类型标识符UTType(教程含源码)
- minio配置路径权限 免登录下载文件
- 反编译pyc文件
- git版本控制文件提交到composer应用市场,并下载用市场的软件库
- 浅析前端常见文件下载的9种场景:Blob基础知识/组成/Blob URL、a标签下载、showSaveFilePicker API下载(兼容性差)、FileSaver.js库下载、Zip下载(JSZip库)、附件形式下载(设置Content-Disposition)、base64格式下载(需转为blob)、分块传输下载、HTTP范围请求下载、大文件分块并行下载
- 文件中转下载思路
- 简介vsftpd及搭建配置 关闭selinux 不能创建文件
- ftp 下载最近一小时的文件
- java删除指定文件夹或者文件
- Android下载文件提示文件不存在。。。 java.io.FileNotFoundException
- 企业微信接口下载微盘文件