Fórum Delphi - FTP Cliente e Servidor #382173
26/07/2010
0
Pessoal, estive programando um programa cliente e servidor. A conexão está correda mas quando vou fazer o upload de um arquivo da um erro que eu nunca vi. "Stor" command not implemented.
Segue o código que estou usando.
procedure TForm2.Button2Click(Sender: TObject);
var
m : TStream;
f : TStream;
t : Cardinal;
Nome_Arquivo,Diretorio_Leitura,Auxiliar :String;
contador : Integer;
begin
Auxiliar := '';
Diretorio_Leitura:='D:\teste';
f := nil;
m := nil;
memo1.Lines.Add('Diretório original: ' + Diretorio_Leitura);
OpenDialog1.Filter := 'Arquivos(*.*)|*.*'; if OpenDialog1.Execute then
begin Nome_Arquivo := OpenDialog1.FileName; memo1.Lines.Add ('Operação: troca de diretório local');
memo1.Lines.Add ('Diretório do arquivo: ' + GetCurrentDir);
memo1.Lines.Add (''); Nome_Arquivo := AnsiStrRScan(PCHar(Nome_Arquivo), '\');
for contador := 2 To StrLen(PCHar(Nome_Arquivo)) do
Auxiliar := Auxiliar + Nome_Arquivo [contador];
Nome_Arquivo := Auxiliar; try
memo1.Lines.Add('Operação: Upload');
memo1.Lines.Add ('Arquivo local: ' + OpenDialog1.FileName);
memo1.Lines.Add ('Gravado como: ' + Nome_Arquivo); f := TFileStream.Create(OpenDialog1.FileName,fmOpenRead);
m := TMemoryStream.Create;
m.CopyFrom(f,f.Size);
m.Seek(0,0) ;
t := GetTickCount;
IdFTP1.TransferType:=ftBinary;
idFTP1.Put(m,Nome_Arquivo);
memo1.Lines.Add(Format('tempo %d milesegundos',[GetTickCount - t]));
memo1.Lines.Add(Format('Tamanho %d bytes',[m.Size]));
memo1.Lines.Add(''); finally
m.Free;
f.Free;
end;
end;
SetCurrentDir (Diretorio_Leitura);
memo1.Lines.Add('Operação: troca de diretorio local');
memo1.Lines.Add ('Diretório após a operação: ' + GetCurrentDir);
memo1.Lines.Add (''); end;
var
m : TStream;
f : TStream;
t : Cardinal;
Nome_Arquivo,Diretorio_Leitura,Auxiliar :String;
contador : Integer;
begin
Auxiliar := '';
Diretorio_Leitura:='D:\teste';
f := nil;
m := nil;
memo1.Lines.Add('Diretório original: ' + Diretorio_Leitura);
OpenDialog1.Filter := 'Arquivos(*.*)|*.*'; if OpenDialog1.Execute then
begin Nome_Arquivo := OpenDialog1.FileName; memo1.Lines.Add ('Operação: troca de diretório local');
memo1.Lines.Add ('Diretório do arquivo: ' + GetCurrentDir);
memo1.Lines.Add (''); Nome_Arquivo := AnsiStrRScan(PCHar(Nome_Arquivo), '\');
for contador := 2 To StrLen(PCHar(Nome_Arquivo)) do
Auxiliar := Auxiliar + Nome_Arquivo [contador];
Nome_Arquivo := Auxiliar; try
memo1.Lines.Add('Operação: Upload');
memo1.Lines.Add ('Arquivo local: ' + OpenDialog1.FileName);
memo1.Lines.Add ('Gravado como: ' + Nome_Arquivo); f := TFileStream.Create(OpenDialog1.FileName,fmOpenRead);
m := TMemoryStream.Create;
m.CopyFrom(f,f.Size);
m.Seek(0,0) ;
t := GetTickCount;
IdFTP1.TransferType:=ftBinary;
idFTP1.Put(m,Nome_Arquivo);
memo1.Lines.Add(Format('tempo %d milesegundos',[GetTickCount - t]));
memo1.Lines.Add(Format('Tamanho %d bytes',[m.Size]));
memo1.Lines.Add(''); finally
m.Free;
f.Free;
end;
end;
SetCurrentDir (Diretorio_Leitura);
memo1.Lines.Add('Operação: troca de diretorio local');
memo1.Lines.Add ('Diretório após a operação: ' + GetCurrentDir);
memo1.Lines.Add (''); end;
Marcelo Gaiotto
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)