spring boot 下载resources下的静态文件为流格式
废话不多说,直接上代码
一、下载逻辑
public void downAppApk(HttpServletResponse response){ClassPathResource classPathResource = new ClassPathResource("app/xxxxxx.apk");if (!classPathResource.exists()) {throw new BusinessException("安装包不存在");}String appName = URLEncoder.encode("xxxxxx","UTF-8") + ".apk";InputStream inputStream = classPathResource.getInputStream();OutputStream outputStream = response.getOutputStream();response.setContentType("application/vnd.android.package-archive");response.setCharacterEncoding("utf-8");response.setHeader("Content-disposition", "attachment;filename=" + appName);IOUtils.copy(inputStream,outputStream);}
二、格式对照表
比较全面的contentType的类型值
文件扩展名 Content-Type(Mime-Type)
.*( 二进制流,不知道下载文件类型) application/octet-stream
.tif image/tiff
.asp text/asp
.asx video/x-ms-asf
.au audio/basic
.avi video/avi
.awf application/vnd.adobe.workflow
.biz text/xml
.bmp application/x-bmp
.bot application/x-bot
.cit application/x-cit
.class java/*
.csi application/x-csi
.css text/css
.dcd text/xml
.dcx application/x-dcx
.dib application/x-dib
.dll application/x-msdownload
.doc application/msword
.dot application/msword
.drw application/x-drw
.dtd text/xml
.dwf Model/vnd.dwf
.dwf application/x-dwf
.etd application/x-ebx
.exe application/x-msdownload
.gif image/gif
.gl2 application/x-gl2
.hrf application/x-hrf
.hta application/hta
.htc text/x-component
.htm text/html
.html text/html
.htt text/webviewhtml
.htx text/html
.icb application/x-icb
.ico image/x-icon
.ico application/x-ico
.iff application/x-iff
.ig4 application/x-g4
.igs application/x-igs
.iii application/x-iphone
.img application/x-img
.ins application/x-internet-signup
.java java/*
.jfif image/jpeg
.jpe image/jpeg
.jpe application/x-jpe
.jpeg image/jpeg
.jpg image/jpeg
.jpg application/x-jpg
.js application/x-javascript
.jsp text/html
.la1 audio/x-liquid-file
.mdb application/msaccess
.mdb application/x-mdb
.mfp application/x-shockwave-flash
.mht message/rfc822
.mhtml message/rfc822
.mi application/x-mi
.mid audio/mid
.midi audio/mid
.mil application/x-mil
.mml text/xml
.mnd audio/x-musicnet-download
.mns audio/x-musicnet-stream
.mocha application/x-javascript
.movie video/x-sgi-movie
.mp1 audio/mp1
.mp2 audio/mp2
.mp2v video/mpeg
.mp3 audio/mp3
.mp4 video/mpeg4
.mpa video/x-mpg
.mpd application/vnd.ms-project
.mpe video/x-mpeg
.mpeg video/mpg
.mpg video/mpg
.mpga audio/rn-mpeg
.mpp application/vnd.ms-project
.mps video/x-mpeg
.mpt application/vnd.ms-project
.mpv video/mpg
.mpv2 video/mpeg
.mpw application/vnd.ms-project
.mpx application/vnd.ms-project
.mtx text/xml
.mxp application/x-mmxp
.net image/pnetvue
.nrf application/x-nrf
.nws message/rfc822
.odc text/x-ms-odc
.out application/x-out
.p10 application/pkcs10
.p12 application/x-pkcs12
.p7b application/x-pkcs7-certificates
.p7c application/pkcs7-mime
.p7m application/pkcs7-mime
.p7r application/x-pkcs7-certreqresp
.p7s application/pkcs7-signature
.pc5 application/x-pc5
.pci application/x-pci
.pcl application/x-pcl
.pcx application/x-pcx
.pdf application/pdf
.pdf application/pdf
.pdx application/vnd.adobe.pdx
.pfx application/x-pkcs12
.pgl application/x-pgl
.pic application/x-pic
.pko application/vnd.ms-pki.pko
.pl application/x-perl
.plg text/html
.pls audio/scpls
.plt application/x-plt
.png image/png
.png application/x-png
.pot application/vnd.ms-powerpoint
.ppa application/vnd.ms-powerpoint
.ppm application/x-ppm
.pps application/vnd.ms-powerpoint
.ppt application/vnd.ms-powerpoint
.ppt application/x-ppt
.pr application/x-pr
.prf application/pics-rules
.prn application/x-prn
.prt application/x-prt
.ps application/x-ps
.ps application/postscript
.ptn application/x-ptn
.pwz application/vnd.ms-powerpoint
.r3t text/vnd.rn-realtext3d
.ra audio/vnd.rn-realaudio
.ram audio/x-pn-realaudio
.ras application/x-ras
.rat application/rat-file
.rdf text/xml
.rec application/vnd.rn-recording
.red application/x-red
.rgb application/x-rgb
.rjs application/vnd.rn-realsystem-rjs
.rjt application/vnd.rn-realsystem-rjt
.rlc application/x-rlc
.rle application/x-rle
.rm application/vnd.rn-realmedia
.rmf application/vnd.adobe.rmf
.rmi audio/mid
.rmj application/vnd.rn-realsystem-rmj
.rmm audio/x-pn-realaudio
.rmp application/vnd.rn-rn_music_package
.rms application/vnd.rn-realmedia-secure
.rmvb application/vnd.rn-realmedia-vbr
.rmx application/vnd.rn-realsystem-rmx
.rnx application/vnd.rn-realplayer
.rp image/vnd.rn-realpix
.rpm audio/x-pn-realaudio-plugin
.rsml application/vnd.rn-rsml
.rt text/vnd.rn-realtext
.rtf application/msword
.rtf application/x-rtf
.rv video/vnd.rn-realvideo
.sam application/x-sam
.sat application/x-sat
.sdp application/sdp
.sdw application/x-sdw
.sit application/x-stuffit
.slb application/x-slb
.sld application/x-sld
.slk drawing/x-slk
.smi application/smil
.smil application/smil
.smk application/x-smk
.snd audio/basic
.sol text/plain
.sor text/plain
.spc application/x-pkcs7-certificates
.spl application/futuresplash
.spp text/xml
.ssm application/streamingmedia
.sst application/vnd.ms-pki.certstore
.stl application/vnd.ms-pki.stl
.stm text/html
.sty application/x-sty
.svg text/xml
.swf application/x-shockwave-flash
.tdf application/x-tdf
.tg4 application/x-tg4
.tga application/x-tga
.tif image/tiff
.tif application/x-tif
.tiff image/tiff
.tld text/xml
.top drawing/x-top
.torrent application/x-bittorrent
.tsd text/xml
.txt text/plain
.uin application/x-icq
.uls text/iuls
.vcf text/x-vcard
.vda application/x-vda
.vdx application/vnd.visio
.vml text/xml
.vpg application/x-vpeg005
.vsd application/vnd.visio
.vsd application/x-vsd
.vss application/vnd.visio
.vst application/vnd.visio
.vst application/x-vst
.vsw application/vnd.visio
.vsx application/vnd.visio
.vtx application/vnd.visio
.vxml text/xml
.wav audio/wav
.wax audio/x-ms-wax
.wb1 application/x-wb1
.wb2 application/x-wb2
.wb3 application/x-wb3
.wbmp image/vnd.wap.wbmp
.wiz application/msword
.wk3 application/x-wk3
.wk4 application/x-wk4
.wkq application/x-wkq
.wks application/x-wks
.wm video/x-ms-wm
.wma audio/x-ms-wma
.wmd application/x-ms-wmd
.wmf application/x-wmf
.wml text/vnd.wap.wml
.wmv video/x-ms-wmv
.wmx video/x-ms-wmx
.wmz application/x-ms-wmz
.wp6 application/x-wp6
.wpd application/x-wpd
.wpg application/x-wpg
.wpl application/vnd.ms-wpl
.wq1 application/x-wq1
.wr1 application/x-wr1
.wri application/x-wri
.wrk application/x-wrk
.ws application/x-ws
.ws2 application/x-ws
.wsc text/scriptlet
.wsdl text/xml
.wvx video/x-ms-wvx
.xdp application/vnd.adobe.xdp
.xdr text/xml
.xfd application/vnd.adobe.xfd
.xfdf application/vnd.adobe.xfdf
.xhtml text/html
.xls application/vnd.ms-excel
.xls application/x-xls
.xlw application/x-xlw
.xml text/xml
.xpl audio/scpls
.xq text/xml
.xql text/xml
.xquery text/xml
.xsd text/xml
.xsl text/xml
.xslt text/xml
.xwd application/x-xwd
.x_b application/x-x_b
.sis application/vnd.symbian.install
.sisx application/vnd.symbian.install
.x_t application/x-x_t
.ipa application/vnd.iphone
.apk application/vnd.android.package-archive
.xap application/x-silverlight-app
相关文章:
spring boot 下载resources下的静态文件为流格式
废话不多说,直接上代码 一、下载逻辑 public void downAppApk(HttpServletResponse response){ClassPathResource classPathResource new ClassPathResource("app/xxxxxx.apk");if (!classPathResource.exists()) {throw new BusinessException("安…...
HTML渲染过程
整个渲染过程: 将 URL 对应的各种资源,通过浏览器渲染引擎的解析,输出可视化的图像。 基本概念: HTML 解释器:解析html语言、将html文本翻译成dom树; CSS 解释器:解析css语言,给…...
[已解决]llegal target for variable annotation
llegal target for variable annotation 问题 变量注释的非法目标 思路 复制时编码错误,自己敲一遍后正常运行 #** 将垂直知识加入prompt,以使其准确回答 **# prompt_templates { # "recommand":"用户说:__INPUT__ …...
nodejs基于vue小型企业银行账目管理系统
这就产生了以台式计算机为核心的管理信息系统在大规模的事务处理和对工作流的管理等方面的应用,在银行帐目管理之中的应用日益增加 且会出现信息的重复传递问题,因此该过程需要进行信息化,以利用计算机进行帐目管理。 3.1 银行帐目管理系统功能模块 …...
pointnet和pointnet++点云分割和分类
目录 1. pointnet 1.1 点云数据的特点 1.2 模型功能 1.3 网络结构 1.3.1 分类网络 1.3.2 分割网络 2. pointnet 2.1 模型 2.2 sampling layer组件 2.3 grouping layer 2.4 pointnet 1. pointnet 1.1 点云数据的特点 (1)无序性:…...
Docker-compose和Consul
目录 1、docker-compose 简介 1.1 Docker-compose 简介 2、compose 部署 2.1 Docker Compose 环境安装 2.2 YAML 文件格式及编写注意事项 * * * * 2.3 Docker Compose配置常用字段 2.4 Docker Compose 常用命令 2.5 Docker Compose 文件结构 3、Consul 3.1 什么是…...
AFL模糊测试+GCOV覆盖率分析
安全之安全(security)博客目录导读 覆盖率分析汇总 目录 一、代码示例 二、afl-cov工具下载 三、编译带覆盖率的版本并启动afl-cov 四、AFL编译插桩并运行afl-fuzz 五、结果查看 AFL相关详见AFL安全漏洞挖掘 GCOV相关详见GCOV覆盖率分析 现将两者结合,即进…...
leetcode 965.单值二叉树
/*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ //遍历判断函数 bool TreeCompare(struct TreeNode* root,int x) {if(root NULL)return true;if(root->val ! x)return false…...
云计算:掌控未来,一触即发!
🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是尘缘,一个在CSDN分享笔记的博主。📚📚 👉点击这里,就可以查看我的主页啦!👇&#x…...
Mybatis对数据库进行增删查改以及单元测试
这篇写的草率了,是好几天前学到,以后用来自己复习 UserInfo import lombok.Data;Data public class UserInfo {private int id;private String name;private int age;private String email;//LocalDateTime可用于接收 时间}Mapper UserMapper pack…...
.bat 批处理 - 查看 MySQL 状态然后启动或关闭
我的 MySQL 服务名为 MySQL80,具体的以实际为准: echo off setlocal:check_status cls sc query MySQL80 | find "RUNNING" > nul 2>&1 if %errorlevel%0 (echo Current status of MySQL service: Running ) else (echo Current st…...
跳转传参有几种方式
在Vue Router中,实现路由跳转并传参有以下几种方式: 1. 路由参数(Route Params): 可以通过在路由配置中定义动态的占位符(即路由参数),并在跳转时通过URL路径来传递参数。这种方式适…...
DVWA靶场Medium难度部分解析
前言 好久没做题,不想吹牛逼了,消停做点题QAQ Vulnerability: Command Injection 这题不咋难,老Ping题了 输个分号ls试试,没回显即被Ban了,试试别的,例如|或者&& 出了,看看源代码 把…...
SVG图形
什么是SVG SVG(Scalable Vector Graphics)是一种用于描述二维矢量图形的XML 格式文件。它是一种用于在网络上显示图形的开放标准,旨在与Web上的其他技术(如HTML和CSS)集成,并支持在不失真的情况下缩放和调…...
冒泡排序和简答选择排序
冒泡排序 一种典型的交换排序 类似水冒泡,大元素经不断的交换由水底慢慢的浮出 从头到尾,循环比较两相邻的元素 大的元素移到后面,小的放前面-每次循环,大的元素会排到最后 代码如下: #include<stdio.h> …...
leetcode3. 无重复字符的最长子串 [滑动窗口]
题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2: 输入: s "bbbbb" 输出: 1 解释:…...
软件工程与计算总结(十六)详细设计的设计模式
一.设计模式基础 某种意义上来说,设计模式就是设计经验的总结~ 设计模式不是简单的经验总结,更不是无中生有,它是经过实践反复检验、能解决关键技术难题、有广泛应用前景和能够显著提高软件质量的有效的经验总结。 每个模式都不是独立的&a…...
List集合拆分为多个List
list 拆分 目录概述需求: 设计思路实现思路分析1.list 拆分是2.用stream的parallel实现list的分批处理3.使用stream的parallel实现list的分批处理 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full bus…...
Hadoop3教程(十三):MapReduce中的分区
文章目录 (96) 默认HashPartitioner分区(97) 自定义分区案例(98)分区数与Reduce个数的总结参考文献 (96) 默认HashPartitioner分区 分区,是Shuffle里核心的一环…...
笔记本Win10系统一键重装操作方法
笔记本电脑已经成为大家日常生活和工作中必不可少的工具之一,如果笔记本电脑系统出现问题了,那么就会影响到大家的正常操作。这时候就可以考虑给笔记本电脑重装系统了。接下来小编给大家介绍关于一键重装Win10笔记本电脑系统的详细步骤方法。 推荐下载 系…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...
DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...
接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...
