Thymeleaf中PDF文件Base64格式的src属性配置问题
解决Thymeleaf中Base64格式PDF在iframe的src配置问题
你的问题出在MIME类型的错误配置上,PDF对应的标准MIME类型是application/pdf,而非你使用的file/pdf,这才导致iframe无法正确解析Base64格式的PDF内容。
正确代码示例
替换为以下配置即可正常加载PDF:
<iframe th:src="${'data:application/pdf;base64,' + myfile.profilePdf}" height="200" width="300"></iframe>
额外注意事项
- 确保
myfile.profilePdf存储的是纯净的Base64编码字符串,不要包含额外的空格、换行或data:application/pdf;base64,前缀(该前缀已在Thymeleaf表达式中拼接)。 - 若PDF文件体积较大,Base64格式会让数据体积膨胀约30%,可能拖慢页面加载速度,这种场景更建议将PDF存储为文件后通过URL引用,而非直接嵌入Base64。
- 部分旧版浏览器对iframe加载Base64 PDF的支持有限,测试时注意覆盖目标浏览器版本。
内容的提问来源于stack exchange,提问作者Nirupam Sur
相关产品推荐
相关产品推荐

