java - 将 pdf 作为静态资源从在 docker 容器中运行的 spring 应用程序提供
问题描述
当我尝试从 localhost/pdfs/filename.pdf 打开Pdf 文件时,它是空白的,但是当我对图片执行此操作时,它可以工作 (localhost/images/imagename.png) 我的应用程序在 docker 容器中运行。
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Autowired
private ApplicationEventPublisher publisher;
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/images/**").addResourceLocations("classpath:/static/images/").setCachePeriod(31556926);
registry.addResourceHandler("/pdfs/**").addResourceLocations("classpath:/static/pdfs/").setCachePeriod(31556926);
}
}
文件夹,图像和 pdf,都在src/main/resources/static
文件夹内。
为什么它适用于图像文件但不适用于pdf文件?谢谢。
解决方案
我有同样的问题 - 这是由 Maven 过滤资源引起的。排除 *.pdf 有助于解决问题:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<delimiters>
<delimiter>@</delimiter>
</delimiters>
<useDefaultDelimiters>false</useDefaultDelimiters>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>pdf</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
推荐阅读
- python - 从numpy数组中删除连续数字
- xpath - Xpath,使用两个查询返回两条信息而不是同时返回
- javascript - 移动设备上的vue路由器延迟
- java - 从 ArrayList 中提取特定数据
- .net - 画布过度拉伸图像元素,两者都在同一个 wpf 网格上
- python-3.x - 我需要在 DNA 字符串中搜索模式 GGG + N(1-7) + GGG + N(1-7) + GGG
- dart - 颤振动画不起作用
- wpf - WPF 将文本块绑定到父属性
- java - 遵循 OWASP 建议,在 Java 中保护简单的 JAX-WS Web 服务
- r - 按组运行回归并粘贴到原始数据框中以预测值 - 提供示例代码