首页 > 其他分享 >文件下载案例

文件下载案例

时间:2023-06-12 21:22:58浏览次数:56  
标签:文件 String int inputStream 案例 file import response 下载

文件下载 简单案例

package com.example.demo.controller;

import java.io.*;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

@Controller
public class FileDownloadController {
    private static final int BUFFER_SIZE = 4096;
    @GetMapping("/download/{fileName:.+}")
    public void downloadFile(@PathVariable String fileName, HttpServletResponse response) throws IOException {
        // 获取文件名和路径
        String filePath = "D:\\" + fileName;
        File file = new File(filePath);
        InputStream inputStream = new FileInputStream(file);
        // 设置响应属性
        response.setContentType("application/octet-stream");
        response.setContentLength((int) file.length());
        response.setHeader("Content-Disposition", String.format("attachment; filename=\"%s\"", file.getName()));
        // 写入输出流
        OutputStream outputStream = response.getOutputStream();
        byte[] buffer = new byte[BUFFER_SIZE];
        int bytesRead = -1;
        while ((bytesRead = inputStream.read(buffer)) != -1) {
            outputStream.write(buffer, 0, bytesRead);
        }
        inputStream.close();
        outputStream.close();
    }
}

标签:文件,String,int,inputStream,案例,file,import,response,下载
From: https://www.cnblogs.com/caoxuekun/p/17476135.html

相关文章

  • 文件包含漏洞(----php伪协议)
    文件包含漏洞在通过PHP的函数引入文件时,为了灵活包含文件会将被包含文件设置为变量,通过动态变量来引入需要包含的文件。此时用户可以对变量的值可控,而服务器端未对变量值进行合理地校验或者校验被绕过,就会导致文件包含漏洞。文件包含函数include()代码执行到include()函数......
  • mv删除包含隐藏文件的所有文件
    摘自:https://blog.csdn.net/ficksong/article/details/52447729使用命令:mv*.[^.]*..解释如下:1.mv命令的最后一个参数是要移动文件的目标位置;2.第一个*匹配除了隐藏文件的所有文件;3.隐藏文件使用.[^.]*匹配4.匹配隐藏文件用.[^.]*为什么不用.*.*会匹配目录.和..5..[^.]*......
  • Springboot读取不到yml文件的问题(转载)
    Springboot工程分为两个大文件夹,/src/main和/src/test,main和test下面分别由java和resource,如图所示: 规则:main的java里面的代码,只能读取main的resource的配置文件;test的java里面的代码,既可以读取main的resource的配置文件,也可以读取test的resource的配置文件。test......
  • Apikit SaaS 10.9.0 版本更新: 接口测试支持通过 URL 请求大型文件,支持导出为 Postman
    Hi,大家好!EolinkApikit即将在2023年6月8日晚18:00开始更新10.9.0版本。本次版本更新主要是对多个应用级资源合并,并基于此简化付费套餐和降低费率。本次应用合并是为了接下来更好的发挥EolinkApikit的优势,提供API全生命周期解决方案,为下半年的重大功能更新做前期......
  • 登录案例,scoped,ref属性,props其他,混入mixin,插件,饿了么UI
    0解析一下vue项目#1为什么浏览器中访问某个地址,会显示某个页面组件 -根组件:App.vue必须是<template><divid="app"><router-view></router-view></div> </template> -1配置路由 router----》index.j......
  • 文件minio进阶 分页查询
    文章目录前言一、minio使用二、代码1.mino版本是最新的,那么pom中也要最新的2.部分代码总结前言就是现在通过minio管理文件,然后不需要其他信息,所以我也就没有用传统方式,在mysql中做文件记录,直接用minio做了文件存储,以及文件查询;一、minio使用1docker安装最新版minio.开......
  • minio查询桶中文件,桶目录中文件
    文章目录前言一、文件桶中的文件夹是什么?二、文件查询1.桶中文件查询2.桶中文件夹中的文件查询总结前言文章再续,书接上文minio进阶分页查询说到了文件,可以实现分页查询,然后上次查询的是桶中的文件列表,这次遇到了需要数据隔离的文件,也就是需要在桶中再次建立文件夹;然后查......
  • 【WebLogic使用】1.WebLogic的下载与安装
    一、WebLogic的介绍   WebLogic是美国bea公司出品的一个applicationserver,确切的说是一个基于Javaee架构的中间件,纯java开发的,最新版本WebLogicServer12cR2(12.2.1.3)(截至发文前)是迄今为止发布的最卓越的BEA应用服务器。BEAWebLogic是用于开发、集成、部署和管理大型分......
  • 0001.Excel文件新建读取修改保存
    一、文件读取python办公自动化,会用到xlrd库,所以需要先安装xlrd库。importxlrdwb=xlrd.open_workbook('招生表.xls')#读取工作簿ws=wb.sheets()#文件sheets包含项,列表式的键值对print(ws)wsname=wb.sheet_names()#列表式工作簿下的所有工作表对象p......
  • 爬虫案例分享
    案例importrequests#如果报红,电脑控制台执行:python-mpipinstallrequests,下载即可frombs4importBeautifulSouptitle=[]#所有文章标题#因为需要爬取的数据,不单单存在一个页面,所以需要分析目标网站的URL规律,构造出每一页的URL,并逐个爬取forpageinrange(4):#目......