首页 > 其他分享 >servlet-下载文件

servlet-下载文件

时间:2023-12-12 11:12:24浏览次数:23  
标签:文件 java realPath resp import servlet javax 下载

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URLEncoder;

public class FileServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 获取下载文件路径
String realPath = this.getServletContext().getRealPath("E:\\dd.txt");
// 获取文件名称
String fileName = realPath.substring(realPath.lastIndexOf("\\")+1);
// 相应的消息头
resp.setHeader("Content-Disposition","attachment; filename="+ URLEncoder.encode(fileName, "UTF-8"));
// 下载文件的输入流
FileInputStream fileInputStream = new FileInputStream(realPath);
// 创建缓冲区
int len=0;
byte[] buffer = new byte[1024];
// 获取输出流
ServletOutputStream outputStream = resp.getOutputStream();
while ((len=fileInputStream.read(buffer))>0){
outputStream.write(buffer,0,len);
}
fileInputStream.close();


}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}

标签:文件,java,realPath,resp,import,servlet,javax,下载
From: https://www.cnblogs.com/wangdch/p/17896338.html

相关文章

  • PMP-5.4.1 获取资源相关文件-实物资源分配单、项目团队派工单、资源日历
    一、实物资源分配单1.X轴(内容)实物资源分配单记录了项目将使用的(1)材料(2)设备(3)用品(4)地点(5)其他实物资源2.Y轴(属性)​实物资源分配描述了资源的预期使用情况以及资源的详细信息,例如(1)类型(2)数量(3)地点(4)属于组织内部资源还是外购资源 实物资源分配单是动态的,会因......
  • Git 忽略特定文件或文件夹
    在代码编译过程中,可能会生成一些目标文件或其他我们不希望提交到服务器的文件或文件夹,但是因为是生成出来的文件/文件夹,在每次使用gitstatus查看状态的时候git系统总会提示这些文件或文件夹没有被git系统纳入监测范围。这些文件或文件夹虽然不影响我们正常的功能,但是感官上......
  • macOS Monterey 12.7.2 (21G1974) 正式版发布,ISO、IPSW、PKG 下载
    macOSMonterey12.7.2(21G1974)正式版发布,ISO、IPSW、PKG下载本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚拟机中启动安装。另外也支持在Windows和Linux中创建可引导介质。macOSMonterey12.7.x如无特殊说明,......
  • macOS Ventura 13.6.3 (22G436) 正式版发布,ISO、IPSW、PKG 下载
    macOSVentura13.6.3(22G436)正式版发布,ISO、IPSW、PKG下载macOSVentura13.6及更新版本,如无特殊说明皆为安全更新,不再赘述。请访问原文链接:https://sysin.org/blog/macOS-Ventura/,查看最新版。原创作品,转载请保留出处。台前调度等新功能帮助Mac用户保持专注、提高生......
  • macOS Sonoma 14.2 (23C64) 正式版发布,ISO、IPSW、PKG 下载
    macOSSonoma14.2(23C64)正式版发布,ISO、IPSW、PKG下载本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚拟机中启动安装。另外也支持在Windows和Linux中创建可引导介质。请访问原文链接:https://sysin.org/blog/macO......
  • Java:实现文件的上传和下载
    1、实现文件上传功能1.配置文件:添加配置文件spring-mvc.xml,配置multipartResolver,实现文件上传和下载的功能。<!--文件上传配置--><beanid="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><propertyname="ma......
  • 使用Python openpyxl找出两个文件的差异之处并标记
    #ItimportsthePatternFillclassfromtheopenpyxl.stylesmodule.fromopenpyxl.stylesimportPatternFill#Itimportsthecolorsclassfromtheopenpyxl.stylesmodule.fromopenpyxl.stylesimportcolors#ItimportstheFontclassfromtheopenpyxl.s......
  • 一款专业的内外网文件摆渡产品,应如何帮助企业提升协作效率?
    伴随着全球数字化转型的持续深入,数字经济的蓬勃发展,数据资产已成为非常重要的生产要素。近年来,全球数据泄密事件频发,数据泄密事件的平均成本逐年攀升。考虑到业务安全需要,绝大多数企业会考虑网络隔离,在内部划分为不同的隔离网域,内网-外网,互联网-内网,生产网-办公网,办公网-研发网隔......
  • springboot下添加日志模块和设置日志文件输出
    前言日志的使用将通过SLF4J来使用,SLF4J(SimpleLoggingFacadeforJava)是一个为Java应用提供简单日志记录的接口。它的主要目标是在不同的日志系统之间提供一个简单的抽象层,使得应用能够以一种灵活的方式切换日志实现,而不需要修改应用本身的代码。SLF4J不是一个具体的日志实现,而......
  • 银行如何选择跨网文件交换方案,提升业务效率?
    银行业在我国经济发展和社会运转中承载着举足轻重的作用和意义,进入互联网时代,网络的运算和数据管理能力助力银行业高速发展,但同样带来了一些网络安全隐患,网络攻击、数据窃取、敏感信息泄露等问题影响着银行业的根基。为响应和落实国家层面对于金融行业网络安全的建设要求,同时基于......