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。

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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...