• Sábado 21 de Diciembre de 2024, 12:28

Autor Tema:  Subir Dos Archivos  (Leído 1725 veces)

El_Lucho

  • Nuevo Miembro
  • *
  • Mensajes: 18
    • Ver Perfil
Subir Dos Archivos
« en: Miércoles 21 de Diciembre de 2005, 22:44 »
0
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]