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

问题描述

实际上,我正在尝试预览chrome中的pdf并下载。我在servlet响应对象中写入字节数组,并设置以下标头。

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:附件; filename =“ foo.bar”;尝试添加"attachment; filename="+fileName+".pdf"

附件表示资源可下载

还有一个已知类型的文件扩展名注册表:此处更多信息mozilla doc [如何为您的内容部分确定正确的MIME类型],以便在不注册PDF的情况下注册pdf。

作为一般的备用,您还可以尝试“应用程序/八位字节流”将文件作为二进制流写入。