当前位置: 首页 > news >正文

SpringBoot前端URL访问本地磁盘文件

SpringBoot前端通过 URL访问本地磁盘文件,其实就是 SpringBoot访问web中的静态资源的处理方式。

SpringBoot 访问web中的静态资源:https://blog.csdn.net/qq_42402854/article/details/90295079

首先,我们知道浏览器访问本地磁盘文件的方式为:

在浏览器直接输入:file:///+本地磁盘目录或者磁盘文件全路径

我们只需要在 Spring Boot中配置静态资源的处理即可。

1、自定义配置类

将配置信息提取到配置文件,方便我们配置。

application.yml配置文件:自定义 file配置信息

# 文件上传相关
file:bucketName: def_bucketlocal:enable: true
#    base-path: /home/app/ws_demo/ws-filesbase-path: D:/ws-files/uploadbaseUrl: http://127.0.0.1:19090/ws/profile

自定义 file配置类:

@Data
@Component
@ConfigurationProperties(prefix = "file")
public class FileProperties {/*** 默认的存储桶名称*/private String bucketName = "bucketName";/*** 本地文件配置信息*/private LocalFileProperties local;}
/*** 本地文件 配置信息*/
@Data
@Component
@ConfigurationProperties(prefix = "local")
public class LocalFileProperties {/*** 是否开启*/private boolean enable;/*** 默认磁盘根路径*/private String basePath;/*** 默认文件URL前缀*/private String baseUrl;}

2、添加静态资源映射

在配置类中添加静态资源映射。

/*** WebMvc 配置类*/
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {@Autowiredprivate FileProperties fileProperties;/*** 配置静态资源访问映射** @param registry*/@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");//  swagger-bootstrap-ui依赖registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");//本地文件上传路径registry.addResourceHandler("/profile/**") // 自定义URL访问前缀,和file配置一致.addResourceLocations(String.format("%s/%s/", "file:", fileProperties.getLocal().getBasePath()));}}

3、前端通过 URL访问

本地文件:

在这里插入图片描述

启动项目,浏览器访问 URL接口。

在这里插入图片描述

– 求知若饥,虚心若愚。

http://www.lryc.cn/news/364764.html

相关文章:

  • 【WP】猿人学2_js混淆_动态cookie
  • 基于springboot实现民族婚纱预定系统项目【项目源码+论文说明】
  • String常用操作
  • git: 批量删除分支
  • 【第5章】SpringBoot实战篇之登录模式切换
  • 2024最新华为OD算法题目
  • Redis集群方案有哪些?
  • 数字影像产业园的三大赋能:科技、创新与无限可能
  • 枚举(enum)+联合体(union)
  • postman教程-15-前置脚本
  • AIGC会带来失业潮吗?紧紧跟时代第一步,如何学习AIGC
  • C++第二十四弹---从零开始模拟STL中的list(上)
  • 大宋咨询(深圳社情民意调查)关于社情民意调查研究的内容
  • PID算法在电机速度控制上的应用
  • 埃隆·马斯克 - 从梦想家到改变世界的企业家
  • 微信小程序长图片自适应
  • elasticsearch hanlp 插件安装操作
  • 为什么进程和线程 ID 总是 4 的倍数?
  • LabVIEW版本控制
  • 不输Kimi的AI插件——Elmo Chat (免费,无需注册)
  • 使用cesiumLab使shp转为3dtlies
  • 中科数安 | 透明加密防泄密系统!如何有效防止企业内部核心数据资料外泄?
  • go的反射和断言
  • 打造新引擎,迈向数智金融新未来
  • 广东智慧物流2024年端午节放假安排
  • Facebook的隐私保护挑战:用户数据安全的新时代
  • Gradio.NET:一个快速制作演示demo网页的利器
  • 001 IOC与DI(有点杂)
  • Python语言自学:深入探索四个基础、五个进阶、六个实战及七个挑战
  • 运维开发介绍