Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Se puede guardar mas de un valor en un AddObject con MultiPartFormDataStream (https://www.clubdelphi.com/foros/showthread.php?t=93538)

Missael 01-11-2018 18:07:03

Se puede guardar mas de un valor en un AddObject con MultiPartFormDataStream
 
Hola, Buenos dias

Tengo una duda sobre el metodo AddObject de MultiPartFormDataStream, lo que pasa es que deseo enviar unos archivos mediante esa sentencia, pero son dos archivos con distintas extensiones, les anexo mi código para una mejor explicación.

Código Delphi [-]
FileStreamP := TIdMultiPartFormDataStream.Create;
  FileStreamGI := TIdMultiPartFormDataStream.Create;
  try
    i := AnsiPos('Product', Filename);
    if i <> 0 then
    begin
      Tipe := 'P';
        i := AnsiPos('.txt',Filename);
      if i <> 0 then
      begin
        FileStreamP.AddObject('ImportFileGI', 'text/plain', '/', Archives, FileName);
        Response := httpUp.Post('http://localhost:8082/SBEASAP/uploadExcelAndDetailsQC.action?type='+Tipe+'', FileStreamP);
      end
      else
        FileStreamP.AddObject('ImportFile', 'application/vnd.ms-excel', '/', Archives, FileName);
        FileStreamP.Position := 0;
    end
    else
    begin
      Tipe := 'GI';
      i := AnsiPos('.txt',FileName);
      if i <> 0 then
      begin
        FileStreamGI.AddObject('ImportFileGI', 'text/plain', '/', Archives, FileName);
        Response := httpUp.Post('http://localhost:8082/SBEASAP/uploadExcelAndDetailsQC.action?type='+Tipe+'', FileStreamGI);
      end
      else
        FileStreamGI.AddObject('ImportFile', 'application/vnd.ms-excel', '/', Archives, FileName);
    end;
  finally
  end;

Como pueden observar, son dos archivos con dos extensiones diferentes, estos los obtengo usando el FindFirst, para ubicarlos en carpetas de mi desktop, pero primero me lee los archivos excel y despues los txt, por lo cual hice que primero leyera los excel para posteriormente leer los txt y subirlos, pero al parecer no guarda ambos archivos, de poderse guardar ambos archivos para utilizar el metodo post, podrian explicarme como hacerlo? o que otro metodo puedo utilizar?

Saludos

Missael 01-11-2018 20:05:47

Ya lo resolvi, solo estaba poniendo mal esta parte
Código Delphi [-]
FileStreamP := TIdMultiPartFormDataStream.Create;
  FileStreamGI := TIdMultiPartFormDataStream.Create;

los generaba cada que entraba a la funcion y por eso solo me guardaba el ultimo dato, asi que solo lo puse fuera de la función, si a alguien le ocurre el mismo error que a mi, espero esto le ayude

ElKurgan 05-11-2018 07:44:39

Gracias por compartir la solución

Saludos


La franja horaria es GMT +2. Ahora son las 06:14:35.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi