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:自己写一个接口,通过接口传参拿到相对路径,然后通过相对路径找到文件以文件流的形式输出到前端