【发布时间】:2020-09-15 15:50:42
【问题描述】:
我有 Spring Boot 应用程序,我:
-
上传文件
-
将文件名添加到数据库
-
想在某个页面中显示它。 为此:
-
在属性文件中添加
upload.path=C:/spring/uploads/
-
添加到
public class MvcConfig implements WebMvcConfigurer {
@Value("${upload.path}")
private String UPLOADED_FOLDER;
@Override
public void addResourceHandlers( ResourceHandlerRegistry registry) {
registry.addResourceHandler("/avatar/**", "/avatar/*", "/avatar/").addResourceLocations("file://" + UPLOADED_FOLDER + "/");
}
- .antMatchers("/avatar/**", 以防不被安全阻止
- 尝试获取图片
我看到文件夹中添加的图像也添加到数据库中。问题是当我尝试将图像添加到页面时它没有显示并且浏览器控制台显示错误 500。
java.net.UnknownHostException: C
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) ~[na:1.8.0_231]
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) ~[na:1.8.0_231]
at java.net.Socket.connect(Socket.java:606) ~[na:1.8.0_231]
at sun.net.ftp.impl.FtpClient.doConnect(FtpClient.java:962) ~[na:1.8.0_231]
at sun.net.ftp.impl.FtpClient.tryConnect(FtpClient.java:924) ~[na:1.8.0_231]
at sun.net.ftp.impl.FtpClient.connect(FtpClient.java:1019) ~[na:1.8.0_231]
at sun.net.ftp.impl.FtpClient.connect(FtpClient.java:1005) ~[na:1.8.0_231]
at sun.net.www.protocol.ftp.FtpURLConnection.connect(FtpURLConnection.java:311) ~[na:1.8.0_231]
at sun.net.www.protocol.ftp.FtpURLConnection.getInputStream(FtpURLConnection.java:417) ~[na:1.8.0_231]
Spring 似乎无法识别“/avatar/”文件夹的相对路径。
附:在 jar 中抛出这个异常:
原因:org.springframework.beans.factory.BeanCreationException:创建名为“mvcConfig”的bean时出错:注入自动装配的依赖项失败;嵌套异常是 java.lang.IllegalArgumentException:无法解析值“${upload.path}”中的占位符“upload.path”
【问题讨论】:
标签: spring spring-boot spring-security directory