Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Colaboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-04-2004
tetemusic tetemusic is offline
Registrado
 
Registrado: abr 2004
Posts: 3
Poder: 0
tetemusic Va por buen camino
Mensaje recibido

Ciertamente se ve mucho más claro el código de esta manera. Espero que le sirva de ayuda a alguien. Saludos marcoszorrilla, y gracias por tu comentario!
Responder Con Cita
  #2  
Antiguo 22-04-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Cool

Dado que el código puede ser de utilidad, me he tomado la libertad de indentarlo y publicarlo en este mensaje, ya que en el original del amigo tetemusic, al menos yo, no lo encontré indentado.

Aclaro que no he revisado su contenido ni la lógica... eso ya quedará para quien quiera aprovecharlo.

Hasta luego.



Código:
const
  CRLF = #13#10;
var
  NomFitxer, path, codi, password: string;
  Config: TInifile;
  aStream: TMemoryStream;
  Params: TMemoryStream;
  S, linea: String;
  F: TextFile;
begin
  //enviamos fichero, sus datos y el user y password están en un .ini
  path := ExtractFilePath(Application.ExeName);
  Config := TIniFile.Create(path+'config.ini');
  with Config do
  begin
    if ReadString('General','Path','Main') <> 'Main' then
      path := ReadString('General','Path','Main');
    if ReadString('General','Codi','Main') <> 'Main' then
      codi := ReadString('General','Codi','Main');
    if ReadString('General','Password','Main') <> 'Main' then
      password := ReadString('General','Password','Main');
    Free;
  end;
  OpenDialog1.InitialDir := path;
  if OpenDialog1.Execute then
    NomFitxer := OpenDialog1.FileName;
  if NomFitxer <> '' then
  begin
    aStream := TMemoryStream.create;
    Params := TMemoryStream.Create;
    idHTTP1.Request.ContentType := 'multipart/form-data;boundary=-----------------------------7cf87224d2020a';
    IdHTTP1.Request.Username := codi;
    IdHTTP1.Request.Password := password;
    try
      S := '-----------------------------7cf87224d2020a' + CRLF +
            'Content-Disposition: form-data; name="registro";          filename="'+
            RightStr(NomFitxer,14)+'"' + //registro es el nombre del campo del formulario html
            CRLF + 'Content-Type: text/plain' + CRLF + CRLF;
      Params.Write(S[1], Length(S));
      //copiamos contenido del fichero al memory stream "params"
      AssignFile(F,NomFitxer);
      Append(F);
      Reset(F);
      while not EOF(F) do
      begin
        readln(F, linea);
        if not EOF(F) then
          linea := linea + CRLF;
        Params.Write(linea[1],Length(linea));
      end;
      CloseFile(F);
      S := CRLF +
           '-----------------------------7cf87224d2020a';
      Params.Write(S[1], Length(S));
      try
        idHTTP1.Post('https:// ... --aqui va a web--', Params,aStream);
      except
        on E: Exception do
          showmessage('Error encountered during POST: ' + E.Message);
      end;
      aStream.SaveToFile(path+'\result.htm');
      aStream.WriteBuffer(#0' ', 1);
      showmessage(PChar(aStream.Memory));
    except
    end;
  end;
end;
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate

Última edición por jachguate fecha: 22-04-2004 a las 18:17:58.
Responder Con Cita
  #3  
Antiguo 05-03-2007
Avatar de Henryoh
Henryoh Henryoh is offline
Registrado
 
Registrado: ene 2007
Ubicación: Ecatepec, Estado de México
Posts: 4
Poder: 0
Henryoh Va por buen camino
Question Misma problematica

Hola, tengo una pregunta, yo tengo la misma necesidad de enviar archivos a una direccion https, solo que en mi caso debo enviar primero, la clave clave=xxxxx y despues debo enviar varios archivos, cada uno con un atributo especifico, es decir el primer archivo se refiere a cuentas por cobrar y debe enviar 'cuentasporcobrar='+ archivo.txt y por ultimo una cifra de control que es un hexadecimal de 32 posiciones, tambien con su atributo.

Mi pregunta es, ¿este componente idHTTP puede hacer el envio de varios archivos a la vez y puede mezclar datos simples como una clave y archivos de no mas de 50 k ?

De antemano gracias por la atencion.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 20:49:17.


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