SoloCodigo
		Programación General => Java => JSP/Servlets => Mensaje iniciado por: El_Lucho en Miércoles 21 de Diciembre de 2005, 22:44
		
			
			- 
				Hola a todos, quisiera saber si alguien sabe como subir dos archivos con este codigo, la verdad he intentado y solo logfro subir uno el otro sube pero llega malo.
 
 De antemano muchas gracias
 
 
 [CODE]
 String contentType = request.getContentType();
 if ((contentType != null) && (contentType.indexOf("multipart/form-data") >= 0))
 {
 DataInputStream in = new DataInputStream(request.getInputStream());
 
 int formDataLength = request.getContentLength();
 byte dataBytes[] = new byte[formDataLength];
 int byteRead = 0;
 int totalBytesRead = 0;
 while (totalBytesRead < formDataLength)
 {
 byteRead = in.read(dataBytes, totalBytesRead, formDataLength);
 totalBytesRead += byteRead;
 }
 
 String file = new String(dataBytes);
 String file2 = new String(dataBytes);
 
 strCadena = file.substring(file.indexOf("filename=\"")+10, file.indexOf("Content-Type"));
 strCadena = strCadena.substring(0, strCadena.indexOf("\n"));
 strCadena = strCadena.substring(0,strCadena.length()-2);
 strCadena2 = file2.substring(file2.lastIndexOf("filename=\"")+10, file2.lastIndexOf("Content-Type"));
 strCadena2 = strCadena2.substring(0, strCadena2.indexOf("\n"));
 strCadena2 = strCadena2.substring(0,strCadena2.length()-2);
 saveFile = file.substring(file.indexOf("filename=\"") + 10);
 saveFile = saveFile.substring(0, saveFile.indexOf("\n"));
 saveFile = saveFile.substring(saveFile.lastIndexOf("\\") + 1,saveFile.indexOf("\""));
 
 int lastIndex = contentType.lastIndexOf("=");
 
 String boundary = contentType.substring(lastIndex + 1,contentType.length());
 
 //out.print(boundary);
 
 int pos;
 
 pos = file.indexOf("filename=\"");
 
 pos = file.indexOf("\n", pos) + 1;
 
 pos = file.indexOf("\n", pos) + 1;
 
 pos = file.indexOf("\n", pos) + 1;
 
 int boundaryLocation = file.indexOf(boundary, pos) - 4;
 int startPos = ((file.substring(0, pos)).getBytes()).length;
 int endPos = ((file.substring(0, boundaryLocation)).getBytes()).length;
 
 //out.print(cDIRECTORIO + saveFile);
 FileOutputStream fileOut = new FileOutputStream(cDIRECTORIO + saveFile);
 
 //fileOut.write(dataBytes);
 
 fileOut.write(dataBytes, startPos, (endPos - startPos));
 fileOut.flush();
 fileOut.close();[/QUOTE]