Buenas tarde gente.
Estoy tratando de hacer un servidor web con permiso a descarga de ciertos archivos como si fuera FTP donde hay un usuarios y claves de acceso para poder descargar los archivos. Mediante ejemplos de por aca mismo simule un server facilmente. las paginas web privada la ve de maravilla. el detalle al sustitur la ruta de la pagina privada por la dirección del archivo.
Sera q me ayudan a ver que estoy haciendo mal. solo quiero que al agregar la ruta del archivo (ejemplo:http_:127.1.1.1/prueba.docx) me pida la clave de acceso al archivo y luego q me muestre la ventana para abrir o guardarlo en el disco no como ahorita q está abriendolo en el mismo explorer.
anexo el código..
Código Delphi
[-]
procedure TForm1.BActivarClick(Sender: TObject);
begin
Servidor.Active := True;
Log.Lines.Add( 'Servidor activado.' );
BActivar.Enabled := False;
BDesactivar.Enabled := True;
end;
procedure TForm1.BDesactivarClick(Sender: TObject);
begin
Servidor.Active := False;
Log.Lines.Add( 'Servidor desactivado.' );
BActivar.Enabled := True;
BDesactivar.Enabled := False;
end;
procedure TForm1.ServidorCommandGet(AThread: TIdPeerThread;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
var
sDocumento: String;
S: TStringList;
begin
S := TStringList.Create;
Log.Lines.Add( ARequestInfo.RemoteIP + ': ' +
ARequestInfo.Command + ARequestInfo.Document );
if ARequestInfo.Document = '/' then
begin
S.LoadFromFile( ExtractFilePath( Application.ExeName ) + 'index.html' );
AResponseInfo.ContentText := S.Text;
end
else
begin
sDocumento := ExtractFilePath( Application.ExeName ) +
Copy( ARequestInfo.Document, 2, Length( ARequestInfo.Document ) );
if FileExists( sDocumento ) then
begin
if not ( ( ARequestInfo.AuthUsername = 'admin' ) and
( ARequestInfo.AuthPassword = '1234' ) ) then
AResponseInfo.AuthRealm := 'ServidorHTTP'
else
begin
S.LoadFromFile( sDocumento );
AResponseInfo.ContentText := S.Text;
end
end
else
AResponseInfo.ResponseNo := 404;
end;
AResponseInfo.CloseConnection := True;
S.Free;
end;
Gracias de antemano...