【发布时间】:2013-12-06 21:20:21
【问题描述】:
我正在使用 JAVA HttpServlets 在 Eclipse 中开发一个动态工作项目。
我有一些 byte[] 格式的数据,我通过一些 API 调用获得这些数据。我可以将其存储在一个新文件中,但我想要的是它应该可供用户以不同格式下载,例如 csv、xls、pdf。
我提到了一些链接。我正在使用 saveReportToLocalMachine 方法来保存它 这工作正常。 但是,如果我对相同的 byte[] 数据使用 displayReportToUser,它会创建一个可下载的文件,但该文件显示损坏的错误。
public static void saveReportToLocalMachine(byte[] data, String fileLocation,
String filename) throws IOException {
File file = new File(fileLocation, filename);
FileOutputStream fstream = new FileOutputStream(file);
fstream.write(data);
fstream.close();
}
下面是使文件可下载的方法。
private void displayReportToUser(byte[] byteData, String outputType,
HttpServletResponse resp) throws IOException {
resp.setContentType("application/pdf");
resp.setHeader("Content-Disposition","attachment;filename=temp.pdf");
ServletOutputStream out = resp.getOutputStream();
out.write(byteData);
out.flush();
out.close();
}
但这对我不起作用。 有人可以指导和解释吗? 错误请指出
【问题讨论】:
-
你应该发布你的答案或至少接受下面的答案...
标签: java servlets bytearray outputstream