Ver Mensaje Individual
  #10 (permalink)  
Antiguo 19/08/2009, 16:05
ingenea
 
Fecha de Ingreso: agosto-2009
Mensajes: 1
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Como Descargar archivos .txt con Jsp

Buenos dias,
Tengo una clase java usando struts que tomando unos parametros genera un archivo xml, genera un codigo MD5 con lo que tiene este archivo, se lo agrega al nombre y lo genera.
Quiero que la respuesta por pantalla sea la descarga del archivo al disco actualmente lo guarda en una carpeta en el servidor donde esta la aplicacion.
Algo se me tiene que haber escapado porque no me sale la pantalla para poder descargarlo de hecho no sale nada.
Les envio a continuacion el codigo:

Me podrian ayudar?
Muchas gracias!


public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {

ClienteBean bean = null;
Informacion respuesta = new Informacion();
StringBuffer StrXML = new StringBuffer();
String fechaDesde = parametros.getString("fechaDesde");
String fechaHasta = parametros.getString("fechaHasta");
String nombreArchivo = "archivo";
x = x + 1;

FileWriter xml = new FileWriter(
"C:\\arch\\archivo.xml_" + x, true);

BufferedWriter escFich = new BufferedWriter(xml);
StrXML.append("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n");
StrXML.append("<DESCARGA>\n");
StrXML.append("\t<fechaDesde>");
StrXML.append(fechaDesde);
StrXML.append("</fechaDesde>\n");
StrXML.append("\t<fechaHasta>");
StrXML.append(fechaHasta);
StrXML.append("</fechaHasta>\n");
StrXML.append("</DESCARGA>");
escFich.write(StrXML.toString());
escFich.newLine();
escFich.close();
xml.close();

MessageDigest digest = MessageDigest.getInstance("MD5");
File xml1 = new File("c:\\archivo\\archivo.xml_" + x);

InputStream is = new FileInputStream(xml1);
byte[] buffer = new byte[8192];
int read = 0;
while ((read = is.read(buffer)) > 0) {
digest.update(buffer, 0, read);
}
byte[] md5sum = digest.digest();
BigInteger bigInt = new BigInteger(1, md5sum);
String output = bigInt.toString(16);
File w = new File("c:\\archivo\\archivo".concat("_")
.concat(output).concat(".xml"));
File inputFile = xml1;
File outputFile = w;

FileReader in = new FileReader(inputFile);
FileWriter out = new FileWriter(outputFile);
int c;
InputStream is1 = new FileInputStream(w);
int longitud = is1.available();
byte[] datos = new byte[longitud];
is1.read(datos);
is1.close();
in.close();
out.close();
while ((c = in.read()) != -1)

response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition","attachment;filename="+w);

ServletOutputStream out1 = response.getOutputStream();
out1.write(datos);
out1.flush();
out1.close();
out.write(c);


x = x + 1;


return mapping.findForward("autenticar");

}


}