首页 > 其他分享 >有关servlet实现文件下载

有关servlet实现文件下载

时间:2023-05-08 18:35:38浏览次数:36  
标签:文件 realPath resp IOException import servlet javax 下载

废话不多说,上代码

 1 package com.mlq.servlet;
 2 
 3 import com.sun.net.httpserver.HttpsServer;
 4 
 5 import javax.servlet.ServletException;
 6 import javax.servlet.ServletOutputStream;
 7 import javax.servlet.http.HttpServlet;
 8 import javax.servlet.http.HttpServletRequest;
 9 import javax.servlet.http.HttpServletResponse;
10 import java.io.FileInputStream;
11 import java.io.IOException;
12 import java.net.URLEncoder;
13 
14 public class ServletReponseDFile extends HttpServlet {
15     @Override
16     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
17 //            § 获取现在文件的路径
18 //            § 下载的文件名
19 //            § 设置让浏览器支持我们需要的下载的东西,让URLEncoder.encode编码,否则可能乱码
20 //            § 获取下载文件的输入流
21 //            § 创建缓冲区
22 //            § 获取OutputStream对象
23 //            § =将FileOutputStream流写入到buffer缓冲区
24 //          使用OutputStream,将缓冲区中的数据输出到客户端中
25         String realPath="D:/Javacode/servletWebappDemo2/servletWebappDemo2/src/main/resources/1.jpg";
26         String filename=realPath.substring(realPath.lastIndexOf("/")+1);
27         resp.setHeader("Content-Disposition", "attachment; filename="+ URLEncoder.encode(filename,"utf-8"));
28         FileInputStream in=new FileInputStream(realPath);
29         byte[] bytes=new byte[1024];
30         int len=0;
31         ServletOutputStream out = resp.getOutputStream();
32         while ((len=in.read(bytes))>0){
33             out.write(bytes,0,len);
34         }
35     }
36 
37     @Override
38     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
39         doPost(req, resp);
40     }
41 }

 

标签:文件,realPath,resp,IOException,import,servlet,javax,下载
From: https://www.cnblogs.com/Mexcellent/p/17382777.html

相关文章

  • vue-cli打包出单文件
    //vue.config.js修改const{defineConfig}=require('@vue/cli-service')module.exports=defineConfig({ transpileDependencies:true, filenameHashing:false, css:{  extract:false, }, configureWebpack:{  optimization:{   spl......
  • lrzsz安装一直报错,只能下载好包编译安装
    1、下载lrzsz安装包https://www.ohse.de/uwe/software/lrzsz.html下载安装包lrzsz-0.12.20.tar.gz2、在linux下安装lrzsz把lrzsz-0.12.20.tar.gz复制到linux环境中去(任何目录都可以)tarzxvflrzsz-0.12.20.tar.gzcdlrzsz-0.12.20使用sudo分开执行以下三条命令(需要输入密码)sud......
  • 开机动画生成可烧写bin文件
    1、进入LVGL的官网Onlineimageconverter-BMP,JPGorPNGtoCarrayorbinary|LVGL得到原图片的bin文件但是它生成的bin文件会有4个字节的文件头,所以在使用的时候记得跳过这4字节2、合并大bin将如下代码贴到空白的bat文件中,双击运行即可得到output.bin1@echoof......
  • Docker安装KKFileView实现文件的预览
    Docke安装KKFile的脚本:1、首先根据官网的方法启动Docker实例,然后通过dockerCP的命令将application.properties文件复制到/home/kkfile/config的本地目录中,实现配置文件的挂载dockerrun-d--name=kkfile--network=host--restartalways-v/home/kkfile/config/application......
  • 如何将数组生成可烧写bin文件
    ASM_CALLISTO_WAVE.bin烧写文件是由wave.bin+ curveTable.bin组成1、先使用工具C2B.exe将对应的TXT文件生成bin文件此工具是正点原子的工具,直接在它的网址下载即可txt文件格式为: 1{64,67,70,73,77} 按如下步骤即可在同文件夹得到同名bin文件 2、合并两个bin文件......
  • Linux常用命令-文件处理命令
    文件处理命令ls-->显示目录下的所有文件原意:list语法:ls 选项[-ald] [文件/目录]-a:显示所有文件,包括隐藏文件-l:详细信息的显示-d:查看目录属性例:ls-l/demo cd-->切换目录/进入某个目录原意:changedirectorypwd-->显示当前所在的工作目录原意:printwo......
  • Linux常用命令-文件搜索命令
    which-->显示系统命令所在目录语法:which[命令名称]例:whichls find-->查找文件或目录语法:find[搜索路径][搜索关键字]-name文件名*匹配任意字符init*find/etc-nameinit*?匹配单个字符init???find/etc-nameinit???-size文件大小注意:一般......
  • TEXT_CONVERT_XLS_TO_SAP-上传EXCEL文件
    *&---------------------------------------------------------------------**&ReportZ018*&*&---------------------------------------------------------------------**&*&上传Excel文件*&--------------------------------------------......
  • GUI_UPLOAD-上传txt文件
    *&---------------------------------------------------------------------**&ReportZ016*&*&---------------------------------------------------------------------**&*&上传TXT文件*&----------------------------------------------......
  • python selenium 谷歌浏览器指定下载位置
    pythonselenium谷歌浏览器指定下载位置功能pythonselenium点击浏览器的下载按钮,然后下载到指定的目录,而非下载到默认位置代码importos.pathfromtimeimportsleepfromseleniumimportwebdriverfromselenium.webdriver.common.byimportBy"""指定默认下载路径,......