Hallo. Ich habe folgendes Problem: Ich möchte aus meiner JSF-Seite über einen Commandlink, der die Mehtode openWord() ausführt eine Word-Datei öffnen. Es funktioniert so weit, dass ein "Öffnen mit Dialog" erscheint und ich ein Programm auswählen kann, mit dem die Datei geöffnet werden soll. Wenn ich die Datei nun mit Word öffne bekomme ich aber nur den gesamten generierten HTML-Quelltext meiner JSF-Seite ausgeben und nicht den Inhalt der Word-Datei. Was mache ich falsch?
Code:
public void openWord() throws IOException
{
String path = "myfile.doc";
File file = new File(path);
FileInputStream fis = new FileInputStream(file);
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
FacesContext context = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse)context.getExternalContext().getResponse();
response.setHeader("Cache-Control", "max-age=0");
response.setContentType("application/msword; charset=ISO-8859-1");
response.setHeader("Content-disposition", "attachment; filename="+path);
response.setContentLength(buffer.length);
ServletOutputStream os = response.getOutputStream();
os.write(buffer);
os.flush();
os.close();
}