springboot获取真实路径保存图片,并且可以用链接访问图片

问题遇到的现象和发生背景

springboot项目,链接访问不到图片

问题相关代码,请勿粘贴截图

upload:
  properties:
    webAliasFileName: FILES
    #实际存储路径
    saveFilePath: d:/upload/


```bash
/**
 * 上传文件的路径资料配置
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Component
@ConfigurationProperties(prefix = "upload.properties")
public class UploadProperties {
    
    private String webAliasFileName = "FILES";
    private String saveFilePath;
    private Long fileMaxBite =104857600L;
}


如果用request.getSession().getServletContext().getRealPath("/") ;
获取的是tomcat容器里的路径,刷新就没有了,但是 访问 127.0.0.1:8080/files/2022/08/05/121sqewqeq.jpg是可以访问的。
如果 直接存储到真实路径 d:/upload/,图片链接就不能访问了,请问怎么能让他存进本地,并且图片路径可以访问?

最好的话使用虚拟目录 ,具体参考如下文章
https://www.cnblogs.com/super-yu/p/8004950.html

1.文件上传最好采用阿里的oss服务,这样你就不用担心访问不到图片了
2.你先取到存储的文件,不能直接通过路径去访问,你得写个接口去访问,就是controller里方法了。
3.就像上面其他人说的,设置个固定的虚拟目录,可以直接访问的
4.就是读取文件,以流的方式响应到浏览器下载。

方法1:可以在tomcat配置虚拟目录,访问地址http://ip:port/虚拟路径/文件相对路径
方法2:自己写一个接口,通过接口传参拿到相对路径,然后通过相对路径找到文件以文件流的形式输出到前端

关于该问题,我找了一篇非常好的博客,你可以看看是否有帮助,链接:SpringBoot图片保存与读取