ServletResponse 输出流不使用大写 .PDF 写入文件

ServletResponse outputstream not writing the file with capital .PDF

实际上我正在尝试在 chrome 中预览 pdf 并下载它。我在 servlet 响应 object 中写入字节数组并设置以下 headers.

response.setContentType("application/pdf; charset=utf-8"); 
response.setHeader("Content-Disposition", "inline; filename="+fileName+".PDF");

并在 jsp 动作中 target="_blank".

当我点击下载按钮时。 PDF 文件在新选项卡中打开。但是当我尝试下载时,它在 chrome 和除 firefox 以外的其他浏览器中显示“网络错误”。

实际的文件格式是这样的12345.PDF .PDF 和 .pdf 是否存在 contentType 问题

通常我使用 Content-Disposition: attachment;文件名="foo.bar";尝试添加 "attachment; filename="+fileName+".pdf"

附件表明资源可以下载

还有一个已知类型的文件扩展注册表:更多信息请点击此处mozilla doc[如何为您的内容部分确定正确的 MIME 类型]所以 pdf 已注册而 PDF 未注册。

作为一般的后备方案,您还可以尝试“application/octet-stream”将文件写入二进制流。