使用静态资源的访问方式访问指定文件

本文介绍了如何在Spring Boot中通过静态资源访问方式处理文件,包括背景、优点和详细步骤。当遇到访问404问题时,可以通过配置`spring.mvc.static-path-pattern`和`spring.resources.static-locations`解决。文章提供了核心代码示例,展示了上传图片、返回URL并显示图片,以及上传和下载文件的流程。
摘要由CSDN通过智能技术生成

使用静态资源的访问方式访问指定文件

背景:

为公司某个测试环境排查bug时发现问题:公司有定时生成报表的业务,测试环境发现文件夹下已经生成文件,但是下载时却访问404。

排查发现static-locations:缺少文件夹的映射,以前未使用过这种方式下载文件,所以写一篇简单的入门文章学习一下。

优点:

  1. 可以直接通过URL访问图片(配合文件上传,然后返回URL给页面展示使用十分方便)
  2. 需要下载文件时只用知道文件名就可以通过URL下载,不许要单独写接口
  3. 一些静态数据可以以json的格式存放,使用时直接访问不用写接口

使用方法

添加配置
spring:
  application:
    name: demo006

  mvc:
    static-path-pattern: /**

  resources:
    static-locations: classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${
   spring.imagePath},file:${
   spring.excelPath},file:${
   spring.jsonPath}
    
#路径需要按需求修改
  imagePath: /Users/zhangyuhang/Git_Repository/exercise-spring/demo006/upload-file/images/
  excelPath: /Users/zhangyuhang/Git_Repository/exercise-spring/demo006/upload-file/excel/
  jsonPath: /Users/zhangyuhang/Git_Repository/exercise-spring/demo006/upload-file/json/
  1. spring.mvc.static-path-pattern代表的含义是我们应该以什么样的路径来访问静态资源,换句话说,只有静态资源满足什么样的匹配条件,Spring Boot才会处理静态资源请求,以官方配置为例:

    #   这表示只有静态资源的访问路径为/resources/**时,才会处理请求
    spring.mvc.static-path-pattern=/resources/**
    

    假定采用默认的配置端口,那么只有请求地址类似于“http://localhost:8080/resources/123.png”时,Spring Boot才会处理此请求,处理方式是将根据模式匹配后的文件名查找本地文件,那么应该在什么地方查找本地文件呢?这就是“spring.resources.static-locations”的作用了。

  2. spring.resources.static-locations用于告诉Spring Boot应该在何处查找静态资源文件,这是一个列表性的配置,查找文件时会依赖于配置的先后顺序依次进行,默认的官方配置如下:

    spring.resources.static
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值