springboot 项目中使用 html 作为前端页面,最终打包 jar 运行。
已实现上传文件到服务器 - 一般是pdf 文件。现在想要通过 a 标签显示文件列表用户点击后可以在浏览器查看文件。我的实现步骤是:
- yml 配置文件中设置环境变量
globalv:
drawingpath: e:/drawingfiles/
virtualpath: /drawing/**
- 为项目制作配置类
@Configuration
public class WebMvcConfigure implements WebMvcConfigurer {
@Value("${globalv.virtualpath}")
private String virtualpath;
@Value("${globalv.drawingpath}")
private String drawingpath;
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler(virtualpath).addResourceLocations("file:/" + drawingpath);
}
@Bean
public TomcatServletWebServerFactory webServerFactory() {
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
factory.addConnectorCustomizers(new TomcatConnectorCustomizer() {
@Override
public void customize(Connector connector) {
connector.setProperty("relaxedPathChars", "\"<>[\\]^`{|}");
connector.setProperty("relaxedQueryChars", "\"<>[\\]^`{|}");
}
});
return factory;
}
}
- 已经在本地目录 e:/drawingfiles/ 中放了几个文件用于测试
前端 html 页面通过 a 标签显示文件
注意前面的 projname 是项目名称 - server.servlet.context-path 的值<a href="/projname/drawing/readme.txt" target="view_window"> 点我查看文件 </a>
- 项目运行后点击该 a 标签浏览器打开了一个新标签页,显示404。我哪里做的不对?或者是实现的方案不对?
你试试:
把 file:后面的 /去掉