Tomcat中PDF下载提示‘Failed - No file’问题求助
问题解决思路
先明确你的文件结构:
contactUs.jsp位于webapps/ROOT/目录下brochure.pdf位于webapps/根目录(和ROOT同级)
当前链接用 ${pageContext.request.contextPath}/brochure.pdf,因为ROOT项目的上下文路径是 /,所以实际访问路径是 /brochure.pdf,这个路径能让浏览器预览PDF,但下载失败的原因可从以下几个方向排查解决:
方案1:调整PDF文件位置(最直接)
把 webapps/brochure.pdf 移动到 webapps/ROOT/ 目录下,让链接路径完全匹配文件实际位置,下载功能会自动恢复正常。
方案2:修正链接的download属性
如果不想移动文件,给download属性指定明确的文件名,避免浏览器解析错误:
<li><a href="${pageContext.request.contextPath}/brochure.pdf" download="brochure.pdf">User Guide</a></li>
方案3:检查Tomcat的MIME类型配置
打开Tomcat安装目录下的 conf/web.xml,确认是否有PDF的MIME映射,没有的话添加以下配置:
<mime-mapping> <extension>pdf</extension> <mime-type>application/pdf</mime-type> </mime-mapping>
添加后重启Tomcat,确保服务器能正确识别PDF文件类型,避免下载时的头信息错误。
方案4:检查文件权限
确认 brochure.pdf 文件对Tomcat运行的系统用户有可读权限(比如Linux下给文件加r权限,Windows下确保Tomcat进程能访问该文件),权限不足会导致Tomcat无法读取文件,进而下载失败。
内容的提问来源于stack exchange,提问作者hash
相关产品推荐
相关产品推荐

