springboot,inputStream,找不到路径

import org.springframework.core.io.ClassPathResource;
//例如项目路径,resource目录下的文件
ClassPathResource cpr = new ClassPathResource(imgFile);
inputStream = cpr.getInputStream();
//指定绝对路径,例如D盘
inputStream = new FileInputStream(imgFile);

------------------------------

#方式1: 如果项目路径为  E:/a/b/xx  , 则传送文件路径为E
uploadPicturePath=/       

//方式2 : 指定绝对路径
#uploadPicturePath=D:/

 

 

 

 

 

### 解决Spring Boot访问resources目录下文件的配置问题 在Spring Boot项目中,`resources`目录下的文件通常会被打包到最终的应用程序包(通常是JAR或WAR)中。如果遇到无法到这些资源文件的情况,可能是因为路径设置不正确或者未按照Spring Boot的标准结构来管理资源。 #### 资源文件的位置和加载方式 默认情况下,Spring Boot会自动扫描并加载位于`src/main/resources`目录中的静态资源文件[^1]。这意味着任何放置在此目录下的文件都可以通过类路径的方式被应用程序读取。例如: ```java ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); InputStream inputStream = classLoader.getResourceAsStream("example.txt"); ``` 上述代码片段展示了如何从类路径中加载名为`example.txt`的文件。需要注意的是,这里的路径是相对于`src/main/resources/`而言的,因此不需要额外指定该前缀。 #### 自定义位置的资源配置 当需要自定义其他位置作为资源存储区域时,则可以通过修改application.properties或application.yml来进行调整。比如,在YAML格式下可以这样写入配置项: ```yaml spring: resources: static-locations: ["classpath:/custom-resources/", "file:/var/www/static/"] ``` 此配置告诉Spring Boot除了默认的`resources`外还应考虑哪些地方寻静态内容[^2]。 #### 特殊情况处理——外部化配置 对于某些特定场景如测试环境切换或是生产环境中动态更新需求较大的场合,还可以利用外部化的机制实现更灵活的操作模式。即把一些经常变动的数据存放到独立于应用之外的地方,并通过命令行参数、系统属性等方式传递给运行实例使用[^3]。 以下是基于Java API的一个简单例子展示怎样获取来自不同源头设定好的变量值: ```java @Value("${my.custom.property}") private String customProperty; ``` 这里假设存在这样一个键名叫做`my.custom.property`,它既可以从内部property文档里获得也可以由外界注入替代原有定义的内容。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值