Spring boot磁盘文件下载

2023-05-16

代码实现

import org.springframework.core.io.InputStreamResource;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;

/**
 * 文件下载Controller
 */

@Controller
@RequestMapping("/down/")
public class FileDownloadController {
    @GetMapping("hardDisk")
    public ResponseEntity hardDisk() {
        File hardDiskFile = new File("/Users/itkey/Desktop/temp.mp4");

        FileInputStream fileInputStream = null;
        try {
            fileInputStream = new FileInputStream(hardDiskFile);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        InputStreamResource inputStreamResource = new InputStreamResource(fileInputStream);
        HttpHeaders httpHeaders = new HttpHeaders();
        httpHeaders.setContentType(MediaType.APPLICATION_OCTET_STREAM);
        httpHeaders.setContentDispositionFormData("attachment", hardDiskFile.getName());
        httpHeaders.setContentLength(hardDiskFile.length());
        return new ResponseEntity(inputStreamResource, httpHeaders, HttpStatus.CREATED);
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring boot磁盘文件下载 的相关文章

  • CentOS7安装ZSH终端

    安装zsh和git git用于pull代码 yum span class token function install span y zsh span class token function git span 切换使用zsh 查 zsh位
  • CentOS7离线安装Oh My ZSH

    前言 Oh My ZSH真香 xff0c 我一开始是在macOS中使用 xff0c 使用习惯了ssh远程我的服务器反而不习惯了 毕竟从奢入俭难 那么如何在CentOS中安装Oh My ZSH呢 xff1f 网上教程挺多的 xff0c 但是我
  • CentOS7安装Oh My ZSH解决raw.github.com访问不畅

    前言 Oh My ZSH真香 xff0c 我一开始是在macOS中使用 xff0c 使用习惯了ssh远程我的服务器反而不习惯了 毕竟从奢入俭难 那么如何在CentOS中安装Oh My ZSH呢 xff1f 网上教程挺多的 xff0c 但是我
  • 玩转手机中的linux系统termux并搭建java开发环境

    目标 春节在家 xff0c 偶尔要出门在外 出门在外的时候 xff0c 没有电脑可以写代码 那么代码瘾上来了怎么办呢 xff1f 我在想能不能在手机上写代码呢 xff1f 手机远程电脑是一种方式 xff0c 但是远程开发这种方式 xff0c
  • ubuntu安装zsh

    更新一下 apt span class token operator span get update 安装zsh apt span class token operator span get install zsh 切换使用zsh 查 zs
  • macOS使用SpaceVim配置java开发环境爬坑

    我在ubuntu中配置SpaceVim开发环境 xff0c 还算顺利 但是在macOS下面搭建java的环境时却遇到点小坑 报错网上貌似也没有搜索到 配置java开发环境时报错 报错信息的一部分 xff1a Error from Langu
  • macOS中SpaceVim搭建java开发环境

    安装JDK11 过程略 xff0c 可参考 xff1a https blog csdn net lxyoucan article details 111120215 macOS安装支持Python 3的neovim 为什么不用 vim 因为
  • Vim用来当SQL Server Client?

    最近迷上了Vim 了 xff0c 感觉它有无穷无尽的玩法 那么它可以用来简单的查oracle 数据库吗 xff1f 因为有一些现场只有ssh远程 xff0c 如果直接在命令行 sqlplus用来查 xff0c 总感觉体验不是很好 如果可以使
  • 荣耀MagicBook2019+Manjaro20.1KDE初始设置一文流

    荣耀魔法书2019 43 Manjaro20 1KDE初始设置一文流 文章目录 荣耀魔法书2019 43 Manjaro20 1KDE初始设置一文流写在前面为什么要在博客记录本文 配置源和系统更新修改源排名添加archlinux仓库安装ya
  • Oracle修改密码

    sysdba登录 sqlplus nolog conn as sysdba 修改system密码为manager SQL span class token operator gt span alter user system identif
  • oracle查用户列表

    sysdba登录 sqlplus nolog conn as sysdba 查看用户列表 xff1a SQL span class token operator gt span span class token keyword select
  • macOS中配置oracle客户端与sqlplus

    下载 官网下载地址 xff1a https www oracle com database technologies instant client macos intel x86 downloads html 下载自己需要的版本的 个人建议
  • Sqlplus替代者SQLcl

    图形化的Oracle客户端工具很多 xff0c 比如 xff1a PL SQL 在命令行的查询工具SQLplus大家应该都知道的 说真的我在用SQLplus的时候感觉真难受啊 勉强能用 修改SQL或者查看历史语句都不行 xff0c 放方向键
  • Windows 10 LTSC官方版本下载地址

    原版下载地址 64位 xff1a ed2k file cn windows 10 enterprise ltsc 2019 x64 dvd d17070a8 iso 4290967552 9E80DED85693E8E4E0D76E55B1
  • MacVim永久保存字体设置

    不知道有没有小伙伴 xff0c 跟我一样 很疑惑为什么MacVim中的设置每次重新打开就会重置 每次重新打开我就要设置一下MacVim的字体和字体大小来正常显示我的powerline字体 这样就很麻烦了 xff0c 有没有什么办法可以永久保
  • CentOS 安装vim8 + python3

    前言 CentOS 使用yum 安装的vim版本比较低 xff0c 有一些vim插件都要求vim 8 43 的版本 所以我们还是需要安装一下新版本的 步骤 卸载原来的vim yum remove vim 安装依赖关系 yum install
  • Centos安装nvim并支持python3

    在使用SpaceVim 官方推荐使用neovim xff0c 那咱就安装一个呗 下载安装包 https github com neovim neovim releases latest 我这里下载的是 xff1a 安装 root权限执行以下
  • macOS下vim 中文输入法切换问题和两种解决方案

    vim好用是好用 xff0c 就是跟中文输入法配合的不算太好 有没有什么解决办法呢 xff1f 我今天就尝试解决一下 先上效果 xff1a 方法一 xff1a xkbswitch macosx安装过程 解决恼人的 vim 中文输入法切换问题
  • macOS中vim安装deoplete报错 E605

    https github com Shougo deoplete nvim 错误信息 vim hug neovim rpc Vim pythonx ModuleNotFoundError No module named neovim 处理
  • 使用pip命令都会显示AttributeError: type object 'Callable' has no attribute '_abc_registry'错误?

    问题 xff1a 使用pip命令都会显示AttributeError type object 39 Callable 39 has no attribute 39 abc registry 39 错误 xff1f 不知道什么鬼 xff01

随机推荐

  • [vimproc].SpaceVim/bundle/v...4.so“ is not found:help vimproc and make it.

    项目场景 xff1a 项目Value操作系统1CentOS7操作系统2macOS Big Sur 11 2NeoVimNVIM v0 4 4SpaceVim1 7 0 dev 我在CentOS7和macOS上都遇到这个问题了 xff0c 最
  • CentOS 7安装 CMake

    下载CMake 访问https cmake org download span class token function wget span https cmake org files v3 12 cmake 3 12 3 tar gz C
  • vim安装插件实现Java代码格式化

    最近迷上了使用vim开发java代码 已经使用了一段时间了 xff0c 平时自己写代码时会手动调整格式 xff0c 代码自动格式化一直没有使用过 如果频繁copy代码 xff0c 代码格式化还是很有必要的 这里要感谢一下SpaceVim 不
  • SpaceVim踩坑之java代码格式化

    个人理解 xff1a SpaceVim是一套不错的vim插件集合 也是因为有SpaceVim才让我入门vim xff0c 爱上vim 一直想实现ssh远程服务做开发调试这件事情 xff0c SpaceVim让我看到了这个想法的可行性 实践的
  • 从零开始vim搭建Java开发环境[视频]

    视频教程 从零开始vim搭建Java开发环境 全屏观看 前言 起初我仅仅是想在手机上搭建一套能开发Java的vim环境 玩转手机中的linux系统termux并搭建java开发环境 玩着玩着发现vim真香 xff01 不仅能搭建简单的Jav
  • CentOS7更改成阿里云的源

    span class token comment 备份本地yum源文件 span span class token function mv span etc yum repos d CentOS Base repo etc yum repo
  • 手机变身蓝牙键盘、鼠标Serverless Bluetooth Keyboard & Mouse for PC/Phone

    前言 看过我前面的文章的小伙伴 xff0c 应该知道我最近在使用手机在地铁里写代码 玩转手机中的linux系统termux并搭建java开发环境 手机写代码有两个缺点 xff1a 屏幕小输入慢 因为手机的便携这个优化 xff0c 第一个缺点
  • SQLcl使用vim编辑sql

    前言 有时通过ssh远程运维 xff0c 使用SQLcl做简单的查询和调试很方便 简单实用 但是使用习惯了各种语法高度就会显的有些单调 那么能不能使用vim来做sql脚本的编写呢 xff1f 那就来探究一下吧 探究过程 我简单的百度了一下
  • 解决iTerm全屏顶部白条闪烁

    环境 操作系统 xff1a macOS Big Sur 11 2 iTerm2 xff1a Build 3 4 4 现象 在iTerm全屏的时候 xff0c 顶部不定时会出现一个闪烁的白条 据了解这个可能是Big Sur的BUG 这个问题困
  • CentOS7 安装nodejs

    参考文档 https linuxize com post how to install node js on centos 7 安装过程 安装过程需要root权限 xff0c 或者有sudo特权的用户 1 添加NodeSource yum存
  • Spring框架的简单配置

    1 xff0c Spring框架是由于软件开发的复杂性而创建的 Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情 然而 xff0c Spring的用途不仅仅限于服务器端的开发 从简单性 可测试性和松耦合性角度而言
  • neovim as JavaScript IDE

    我的安装环境是CentOS7 43 Neovim xff0c 其他的环境应该类似 xff0c 供参考 安装node CentOS7 安装nodejs https blog csdn net lxyoucan article details
  • Termux字体大小调整

    Termux默认字体偏小 xff0c 自己看着还行 因为有时我会用手机录视频 xff0c 发给别人看的时候 xff0c 字太小就看的不太清楚了 我本以为调整字体大小很麻烦 xff0c 需要修改什么配置文件 xff0c 看来是我思多了 只需要
  • archlinux安装Oracle Instant Client

    下载 https www oracle com database technologies instant client linux x86 64 downloads html 我下载的是 具体版本根据各人需要下载 下载以后解压 xff0c
  • OmniDB浏览器中的SQL Client

    简介 运行在网页中的sql client 支持多种数据库连接 现在一些客户现场非常注重网络安全了 xff0c 数据库仅对指定机器开放 xff0c 对我们远程支持带来了不少困扰 比如 xff1a 我们操作oracle xff0c 只能远程使用
  • iterm2 Base64方式文件下载

    使用iterm2 连接远程SSH时 xff0c 有时有一些小文件 xff08 比如 xff1a 配置文件 xff0c 图片素材之类 xff09 需要下载 xff0c 如果专门找个sftp软件下载感觉又太麻烦了 这时可以使用iterm提供的B
  • archlinux 定时任务

    Crontab 格式 crontab 的基本格式是 xff1a 分 时 日 月 星期 命令 分 值从 0 到 59 时 值从 0 到 23 日 值从 1 到 31 月 值从 1 到 12 星期 值从 0 到 6 0 代表星期日 执行的命令
  • archlinux使用docker运行mysql实例

    wiki https wiki archlinux org index php Docker pacman安装docker 安装docker span class token function sudo span pacman S dock
  • macOS中安装secoclient

    前言 有小伙伴在我的文章下评论提到macOS版本安装secoclient遇到问题了 xff0c 为了回答这个问题我当然开个文章说明一下吧 原文章传送门 xff1a secoclient全版本下载分享 xff1a https blog csd
  • Spring boot磁盘文件下载

    代码实现 span class token keyword import span org span class token punctuation span springframework span class token punctua