SpringBoot 2.0的文件(图片、文档等)上传下载小结

版权声明:本文为博主原创文章,转载私信或邮箱[email protected]备注用途,通过后方可转载,否则必究!!! https://blog.csdn.net/BlackButton_CC/article/details/84872286

一、配置最终效果

这一节主要是展示最终配置出来的效果,并且讲解下为什么需要这么配置的原因。

  通过虚拟路径映射的配置以后,可直接让页面重定向到指定URL完成外部静态资源调用,例如访问:localhost:8080/download/image/d9baf55f-b377-4094-9d37-428bdf1d4638.jpg,效果如下:
URL调用示例
   ** 为什么需要配置并调用后台外部的静态资源,而不是把图片放在项目内部?**因为在部署的时候,项目常常打包成为.jar或者.war形势的压缩包,你只能读,不能写。

  

二、静态资源配置

HTML、CSS、图片和文档都属于静态资源,目前来说有2种比较方便的静态资源配置方式:实现WebMvcConfigurer类或者配置application.properties

2.1 方式一:实现WebMvcConfigurer类

注意:在SpringBoot2.0及Spring 5.0 WebMvcConfigurerAdapter已被废弃,就是网上写的很多继承WebMvcConfigurerAdapter类的实现方案,现如今官方推荐实现WebMvcConfigurer类。

  最后补充一点, 为什么我不采用继承新的WebMvcConfigurationSupport来配置?原因如下:一旦继承WebMvcConfigurationSupport后就会出现新的问题,会发现SpringBoot的WebMvc自动配置失效,具体表现比如访问不到静态资源(js,css等)了,继承配置类后,相当于容器中已经有了WebMvcConfigurationSupport,所以默认配置都不会生效,都得自己在配置文件中配置。换句话来说,通过继承的方式,我们的applicaiton.properties的一些配置会无效化。

2.2 方式二:配置application.properties

基于“习惯优于配置”原则,除非有另外的业务需求(我会举例),否则,我们可以采用application.properties配置方式

三、例子讲解

希望能用最简单的例子进行展示

项目打包地址:

猜你喜欢

转载自blog.csdn.net/BlackButton_CC/article/details/84872286