首页 > 其他分享 >Response下载文件

Response下载文件

时间:2024-07-21 22:41:13浏览次数:10  
标签:文件 realPath buffer Response import servlet javax 下载

1.首先在maven项目下创建java class 类 ,然后继承HttpServlet接口。 重写doGet方法。
2.代码如下

点击查看代码
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.IOException;

public class response extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //1.获取文件下载路径
       // String realPath = this.getServletContext().getRealPath("/1.png");
        String realPath="F:\\demo\\maven01\\response01\\target\\classes\\1.png";
        //2.下载文件命是啥
        String filename = realPath.substring(realPath.lastIndexOf("\\") + 1);
        //3.设置想办法让浏览器能够(Content-Disposition)支持下载我们需要的东西
        resp.setHeader("Content-Disposition","attachment;filename="+filename);
        //4.获取下载文件的输入流
        FileInputStream in = new FileInputStream(realPath);
        //5.创建缓冲区
        int len=0;
        byte[] buffer = new byte[1024];
        //6.获取OutputStream 对象
        ServletOutputStream out = resp.getOutputStream();
        //7.将FileOutputStream 流写入buffer缓冲区
        while((len=in.read(buffer))>0){
            out.write(buffer,0,len);
        }
        in.close();
        out.close();
    }
}
3.运行成功会自动下载 ![](/i/l/?n=24&i=blog/2906065/202407/2906065-20240721223448694-1725371143.png)

标签:文件,realPath,buffer,Response,import,servlet,javax,下载
From: https://www.cnblogs.com/xistudy/p/18315073

相关文章

  • 内核模块高级-多文件编译、加载、参数传递、模块依赖
    多文件编译    对于比较复杂的驱动程序,常常会把它的功能进行拆分,由不同的文件实现,这样也能进行并行开发,缩短开发周期。多文件编译的简单例子如下:mod.c://mod.c#include<linux/init.h>#include<linux/module.h>#include"ext.h"//其他文件的头文件ext.hstatic......
  • java入门—JDK下载、环境配置、IDEA开发工具使用
    JavaSE入门—初识Java、JDK开发环境下载、Path环境配置、IDEA开发工具下载、HelloWorld详解1.Java概述1.1Java发展概述1.2Java语言特点及应用1.3Java技术体系2.Java的开发环境(JDK)搭建2.1JDK的下载2.2JDK与JRE3.Java环境配置3.1path、JAVA_HOME环境变量配......
  • 【QT】QT 概述(背景介绍、搭建开发环境、Qt Creator、程序、项目文件解析、编程注意事
    一、Qt背景介绍1、什么是QtQt是一个跨平台的C++图形用户界面应用程序框架。它为应用程序开发者提供了建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展。Qt为开发者提供了一种基于组件的开发模式,开发者可以通过简单的拖拽和组合来实现复杂的应用程......
  • 函数的传参,递归函数,宏定义,头文件
    数组传递中,形参和实参操作的是同一个数组 1.带参宏#definePRINTF(x,y,z)do{\      printf("x=%d\n",x);\           printf("y=%d\n",y);\      printf("z=%d\n",z);\}while(0)\是连接字符,宏定义只能写成一行,\可以把两行连......
  • 网络编程必备:Python中Paramiko和FTP的文件夹与文件检测技巧
    哈喽,大家好,我是木头左!Paramiko是一个用于进行SSH连接的Python库,它支持以加密的形式进行远程命令执行、文件传输等操作。另一方面,FTP即文件传输协议,用于在网络上进行文件的传输。Python中的ftplib模块允许实现FTP客户端的功能,包括列出目录内容、上传和下载文件等。检查文件夹......
  • Windows BITS(Background Intelligent Transfer Service)是微软开发的一种后台服务,旨在
    后台智能传送服务-Win32apps|MicrosoftLearn关于BITS-Win32apps|MicrosoftLearnWindowsBITS(BackgroundIntelligentTransferService)起源于微软在WindowsXP和WindowsServer2003时期的需求,特别是在联网环境条件不佳或断断续续的情况下,需要一种能够有效管理和优......
  • 2024大模型安全实践白皮书(可下载)
    以上是资料简介和目录,如需下载,请前往星球获取:https://t.zsxq.com/qd9rs......
  • Python中的Paramiko与FTP文件夹及文件检测技巧
    哈喽,大家好,我是木头左!Python代码的魅力与实用价值在当今数字化时代,编程已成为一种不可或缺的技能。Python作为一种简洁、易读且功能强大的编程语言,受到了全球开发者的喜爱。它不仅适用于初学者入门,也为专业开发者提供了丰富的库和框架,以解决各种复杂问题。在这篇文章中,将重点......
  • Easyconnect官网下载安装使用教程
    每次要使用到Easyconnect想要去官网找软件的时候,都感到很头疼。个人感觉,很难找。终于找到一篇讲得比较通透的了。mark一下。原文请见:https://blog.csdn.net/LiuNian0213/article/details/137038742此处仅做搬运与记录,方便寻找。一、软件下载打开官网https://www.sangfor.c......
  • 腾讯课堂视频批量下载
    腾讯课堂视频下载重要通知腾讯课堂将于2024年8月1日起停止所有在线课程的访问服务,用户将无法访问新的课程内容,但可继续观看【课程表】中的历史免费课程内容。腾讯课堂将于2024年10月1日停止运营,届时全面停止所有平台服务,感谢各位用户多年以来的支持与陪伴。腾讯......