Jasper 报告 pdf 在 java 中下载时名称错误

问题描述 投票:0回答:2

我有一个应用程序(Web 应用程序),用户可以在其中查看 jasper 报告。唯一的问题是,当他们决定将 pdf 保存到本地计算机时,pdf 的文件名不正确。在 Chrome 中,它们被命名为 download.pdf,在 Firefox 中,它们被命名为 sgsgjsg.pdf。

如何才能以正确的名称保存文件?

请注意,我这样设置标题类型:

response.reset();
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment; filename=\"%s\"" + exportFile.getName());
inputFileInputStream = new FileInputStream(fullPathFile);
outputFileOutputStream = response.getOutputStream();
java file pdf download jasper-reports
2个回答
0
投票

在头文件名中放入您需要的值。 例如:

response.setHeader("Content-Disposition", "attachment; filename="\"download.pdf\"");

它应该对所有浏览器都适用。


0
投票

如果您遇到异常 NoClassDefFoundError:名称错误,我可以通过排除 jasperreports 的子依赖项来解决该问题。我的 Maven 配置如下所示:

<dependency>
    <groupId>net.sf.jasperreports</groupId>
    <artifactId>jasperreports</artifactId>
    <version>${jasperreports.version}</version>
    <exclusions>
        <exclusion>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-xml</artifactId>
        </exclusion>
    </exclusions>
</dependency>
© www.soinside.com 2019 - 2024. All rights reserved.