我在 servlet 中有一个进程,用于创建 .pdf 文件并将其发送到客户端。但是,Adobe 不会打开下载的文件(“打开此文档时出错。文件已损坏且无法修复。”)。驻留在服务器上的原始创建的文件很好,Adobe 打开它没有问题。
我的代码:
private static void sendFile(HttpServletResponse response, String pdfPath) throws FileNotFoundException, IOException {
PrintWriter out = response.getWriter();
File f = new File(pdfPath);
response.setHeader("Content-Transfer-Encoding", "binary");
response.setHeader("Content-Disposition", "attachment; filename=\"" + f.getName());
response.setContentLength((int) f.length());
response.setContentType("application/pdf");
FileInputStream fileInputStream = new FileInputStream(pdfPath);
int i;
while ((i = fileInputStream.read()) != -1) {
out.write(i);
}
fileInputStream.close();
out.close();
}
最佳答案
关于java - 从 java servlet 下载时文件损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51410383/