• 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);
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    二、格式对照表
    比较全面的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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140
    • 141
    • 142
    • 143
    • 144
    • 145
    • 146
    • 147
    • 148
    • 149
    • 150
    • 151
    • 152
    • 153
    • 154
    • 155
    • 156
    • 157
    • 158
    • 159
    • 160
    • 161
    • 162
    • 163
    • 164
    • 165
    • 166
    • 167
    • 168
    • 169
    • 170
    • 171
    • 172
    • 173
    • 174
    • 175
    • 176
    • 177
    • 178
    • 179
    • 180
    • 181
    • 182
    • 183
    • 184
    • 185
    • 186
    • 187
    • 188
    • 189
    • 190
    • 191
    • 192
    • 193
    • 194
    • 195
    • 196
    • 197
    • 198
    • 199
    • 200
    • 201
    • 202
    • 203
    • 204
    • 205
    • 206
    • 207
    • 208
    • 209
    • 210
    • 211
    • 212
    • 213
    • 214
    • 215
    • 216
    • 217
    • 218
    • 219
    • 220
    • 221
    • 222
    • 223
    • 224
    • 225
    • 226
    • 227
    • 228
    • 229
    • 230
    • 231
    • 232
    • 233
    • 234
    • 235
    • 236
    • 237
    • 238
    • 239
    • 240
    • 241
    • 242
    • 243
    • 244
    • 245
    • 246
    • 247
    • 248
    • 249
    • 250
    • 251
    • 252
    • 253
    • 254
    • 255
    • 256
    • 257
    • 258
    • 259
    • 260
    • 261
    • 262
    • 263
    • 264
    • 265
    • 266
    • 267
    • 268
    • 269
  • 相关阅读:
    网络安全 - ARP 欺骗原理+实验
    这把联网智能门锁体验感A+
    WIN10如何搭建自己的博客
    【kafka微服务实践】手把手教你搭建一个基于docker的kafka的微服务
    冰冰学习笔记:泛型编程---模板简介
    git、gitee、github使用教程
    【Elasticsearch专栏 02】深入探索:Elasticsearch为什么使用倒排索引而不是正排索引
    Apache Tomcat如何高并发处理请求
    golang常用库之-HTTP客户端请求库 grequests
    Http域名访问流程
  • 原文地址:https://blog.csdn.net/weixin_41463944/article/details/133805983