java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBoot 本地存储与路径映射

SpringBoot 项目中的图片处理策略之本地存储与路径映射

作者:会飞的喵喵

在SpringBoot项目中,静态资源存放在static目录下,使得前端可以通过URL来访问这些资源,我们就需要将文件系统的文件路径与URL建立一个映射关系,把文件系统中的文件当成我们的静态资源即可,本文给大家介绍SpringBoot本地存储与路径映射的相关知识,感兴趣的朋友一起看看吧

一、前言

  在做网页的时候,会经常遇到一个问题,那就是如何在前端访问图片,还有就是图片应该如何存?存在数据库,然后直接把文件发给前端?数据库表示:“哥们你可真行,我快装不下了”。比较好一点的做法就是把图片存在本地*(ps:这里不考虑云存储)*,然后数据库存该文件的路径。这样一来前端如何访问这个文件呢?我们都知道在SpringBoot项目中,静态资源都存放在static目录下,使得前端可以通过URL来访问这些资源,现在我们就需要将文件系统的文件路径与 URL 建立一个映射关系,把文件系统中的文件当成我们的静态资源即可。下面开始演示:

二、演示

  本篇的重点是如何通过 URL 来访问服务器的文件系统中的文件,这里就不使用数据库了。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

我们现在的目标是:假设在D/image目录下有一个图片,如何直接通过URL来访问本地文件呢?

# 图片保存路劲
imagepath=D:/image/
@Configuration
public class InterceptorConfig implements WebMvcConfigurer {
    @Value("${imagepath}")
    private String imagePath;//从配置文件中获取文件路径
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/image/**")
                .addResourceLocations("file:" + imagePath);
    }
}

  可以看到映射成功了,其实在数据库中存的就是"/image/"+imageName。如果你要将项目部署到Linux服务器上,需要把文件目录修改成Linux系统的,比如:

imagepath=/root/soft/images/

到此这篇关于SpringBoot 项目中的图片处理策略:本地存储与路径映射的文章就介绍到这了,更多相关SpringBoot 本地存储与路径映射内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文