我编写了一个 servlet,它使用msgparser读取 Outlook .msg 文件并将内容写入 ServletOutputStream 以便在点击 url 后可以下载它。
我面临的问题是,当我尝试在 Outlook 中打开下载的文件时,该文件报告错误。
错误提示:无法打开文件,因为它可能不存在或者您可能无权访问文件......
即使文件格式正确(.msg),也会出现这样的错误。我确定我在解析时做错了什么。请建议。下面是servlet代码:
MsgParser msgp = new MsgParser();
Message msg = msgp.parseMsg("D:\\Demo.msg");
String str1=msg.toString();
byte[] b=str1.getBytes();// here b is byte array
//The below code is to open show the pop up so that user can save the msg file..
response.setContentType("application/vnd.ms-outlook"+" ;charset=utf-8");
response.setHeader("Content-Disposition","attachment;filename=" + "Demo.msg");
ServletOutputStream servletOutputStream = response.getOutputStream();
DataOutput dataOutput = new DataOutputStream(servletOutputStream);
if (b!= null) {
response.setContentLength(b.length);
for (int i = 0; i < b.length; i++) {
dataOutput.writeByte(b[i]);
}
}
if (servletOutputStream != null) {
servletOutputStream.flush();
servletOutputStream.close();
}
PrintWriter pw = response.getWriter();
pw.println(dataOutput);