Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   No baja el documento del Sitio Web (https://www.clubdelphi.com/foros/showthread.php?t=83234)

darkamerico 24-05-2013 17:32:30

No baja el documento del Sitio Web
 
Saludos amigos, estoy haciendo una aplicacion, donde tengo plantillas en formato RTF en mi servidor apache, esta plantilla debe bajarse al cliente para que este la modifique y la guarde en la BD.

He modificado estas plantillas en el servidor web, y el programa sigue bajando la version anterior de los documentos, quizas hay algun cache, lo que requiero es que baje la ultima version como es logico, aqui les coloco el codigo fuente:

Esta es la funcion que realiza la bajada del documento:

Código Delphi [-]
function TForm5.GetInetFile (const fileURL, FileName: String): boolean;
 const
   BufferSize = 1024;
 var
   hSession, hURL: HInternet;
   Buffer: array[1..BufferSize] of Byte;
   BufferLen: DWORD;
   f: File;
   sAppName: string;
 begin
  result := false;
  sAppName := ExtractFileName(Application.ExeName) ;
  hSession := InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0) ;
  try
   hURL := InternetOpenURL(hSession, PChar(fileURL), nil, 0, 0, 0) ;
   try
    AssignFile(f, FileName) ;
    Rewrite(f,1) ;
    repeat
     InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen) ;
     BlockWrite(f, Buffer, BufferLen)
    until BufferLen = 0;
    CloseFile(f) ;
    result := True;
   finally
    InternetCloseHandle(hURL)
   end
  finally
   InternetCloseHandle(hSession)
  end
 end;

Ahora en el evento OnActivate del formulario, se realiza la llamada a la funcion anterior:

Código Delphi [-]
procedure TForm5.FormActivate(Sender: TObject);
var
    internetFile, localFileName, SearchText, ReplaceText, nombreMes, diaEnLetras, mesEnLetras, AnioEnLetras, fechaEnLetras:string;
begin
  doc.Lines.Clear;

  case form1.tipoDoc of
    1: // Expediente de Atencion de Reclamo
      begin
        internetFile := 'http://192.168.1.215/GestionDocs/Operaciones/Expediente.rtf';
        localFileName := 'Expediente.rtf';

        if GetInetFile(internetFile, localFileName) then
        begin
          if flag=0 then
          begin
            doc.Lines.LoadFromFile(localFileName);

            ...
            ...

            flag:=1;
          end;
        end;
      end;
...

Como les digo, a pesar de que he cambiado la plantilla en el servidor web, el documento que baja es la version anterior.

Aprecio la ayuda.

saludos

mamcx 24-05-2013 19:14:00

Y si lo bajas manualmente funciona bien?

No esta cacheando el resultado en el servidor apache?

No hay un cache intermedio entre tu app y el servidor?

darkamerico 24-05-2013 19:30:16

Saludos
 
Precisamente es lo que no se, lo ideal seria borrar el cache antes de realizar el download, pero no se como hacerlo.

Saludos


La franja horaria es GMT +2. Ahora son las 11:39:28.

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