Hi,
Whenever I download a file using Tomcat (i.e. it uses
org.apache.tomcat.servlets.DefaultServlet) it works, except when I try to
download a Word document. Then the client side seems to get stuck. This is
reproducable on different client machines using different servers (Linux and
Sun). Is anyone else experiencing this problem?
I have also created a very simple Servlet to download a file. Works fine,
except again for Word documents. Downloading Word documents from e.g.
www.idrive.com work fine though, so it must be some servers-side thing. Can
anyone please help??
package com.nervewireless;
import java.io.*;
import java.util.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public final class FileDownload extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws IOException, ServletException
{
String path = "C:\\TEMP\\" + req.getPathInfo().substring(1);
System.out.println("PATH: " + path);
File f = new File(path);
InputStream in = new BufferedInputStream(new FileInputStream(f));
res.setContentType("application/x-www-form-urlencoded");
res.setContentLength((int) f.length());
res.setHeader("Content-disposition","attachement; filename=" +
f.getName());
OutputStream out = res.getOutputStream();
int sentsize = 0;
int readlen;
byte buffer[] = new byte[256];
while ((readlen = in.read(buffer)) != -1 ) {
out.write(buffer, 0, readlen);
sentsize += readlen;
}
// Success ! Close streams.
out.flush();
out.close();
in.close();
System.out.println("DONE!");
}
}
Greets,
Laurens