- From: Mark Tinderholt <mtinderholt@bankone.com>
- Date: Thu, 4 Jan 2001 15:51:14 -0500 (EST)
- To: <www-jigsaw@w3.org>
argh! i can only get a crappy 10kbps over 100mbps LAN!!! argh... please look
at me could and help me out! thanks!
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.lang.*;
public class Download extends HttpServlet {
String filename = "";
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
//PrintWriter tout = response.getWriter();
//response.setContentType("text/html");
try {
int size = 0;
filename = request.getParameter("filename");
File target = new File(filename);
OutputStream out = response.getOutputStream();
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment; filename=" +
filename + ";");
response.setHeader("Cache-Control", "no-cache");
// byte[] for piece by piece.
byte[] buffer = new byte[4 * 1024];
// byte[] for all
byte[] content;
int len=0;
// FileInputStream in = new FileInputStream(target);
// while(in.read() != -1) {
// len++;
// }
// in.close();
len = new Long(target.length()).intValue();
content = new byte[len];
// FileInputStream fin = new FileInputStream(target);
BufferedInputStream bin = new BufferedInputStream(fin, 4*1024);
// flat out transfer all bytes.
// bin.read(content, 0, len);
// out.write(content, 0, len);
// piece by piece
while ((size = bin.read(buffer, 0, buffer.length)) != -1) {
out.write(buffer, 0, size);
}
bin.close();
fin.close();
out.close();
//tout = response.getWriter();
} catch (Exception e) {
//response.setContentType("text/html");
//e.printStackTrace(tout);
}
}
}
Received on Thursday, 4 January 2001 19:13:34 UTC