Hola a todos.
Como es mi costumbre cuando resuelvo algo, os dejo la solución que a mí me ha funcionado.
Mi operador telefónico en casa y en el móvil es Orange. (No sé si el problema sucede con otros operadores)
Como os comentaba, cuando uso el móvil con el Wi-Fi de casa no hay ningún problema, los ficheros se suben por FTP a mi Web sin problemas.
El problema surgió al intentar hacer lo mismo desconectando el móvil de la Wi-Fi. Y utilizar los datos móviles del dispositivo,
He llegado a la conclusión de que el servidor que usa el operador es el que da el problema. Pues con ficheros realmente pequeños no da problemas. Cuando digo pequeños es de 1000 bytes o poco más.
Yo estaba intentando subir un fichero de 17600 bytes (Que a mí me parece pequeño...)
Al final he optado por el lema de Julio César: "Divide y vencerás" y así ha sido.
Dejo un fragmento de código por si sirve a alguien.
Código Delphi
[-]
........................................
type
TForm1 = class(TForm)
.....
Memo1: TMemo;
......
........................................
var
filename, FileTemp, FileUsed : String;
idFTP1 : TidFTP;
FS, FS2, FSInter: TMemoryStream;
................................................
FS.Clear;
Memo1.Lines.SaveToStream(FS);
Sleep(300);
FS.Position := 0;
I := FS.Size - FS.Position;
if I > 1000 then I := 1000;
FSInter.Clear;
FSInter.CopyFrom(FS,I); FSInter.Position := 0; IdFTP1.Put(FSInter, FileName, False, 0);
while FS.Position < FS.Size
do begin
I := FS.Size - FS.Position;
if I > 1000 then I := 1000;
FSInter.Clear;
FSInter.CopyFrom(FS,I); FSInter.Position := 0; IdFTP1.Put(FSInter, FileName, True, 0);
end;
Saludos cordiales.