第一篇:Delphi客户端通过FTP服务器上传或下载文件或图片方法
Delphi客户端通过FTP服务器上传或下载文件或图片方法
首先在服务器端建立FTP服务器,网上有这种类型的软件,安装好后,在客户端建立服务器连接,然后再上传或下载文件或图片。
一、服务器连接
procedure TForm1.ConnectButtonClick(Sender: TObject);begin if not IdFTP1.Connected then //如果与服务器断开连接
begin
try
IdFTP1.Username:=UserIDEdit.Text;
IdFTP1.Password:=PasswordEdit.Text;
IdFTP1.Host:=FtpServerEdit.Text;
IdFTP1.Connect;//Connect;
Except //异常处理
Application.MessageBox('服务器连接失败!','智博软件');
end;
ConnectButton.Enabled:=true;
if IdFTP1.Connected then
begin
ConnectButton.Caption:='断开';
DebugListBox.Items.Add('主机名为:'+IdFTP1.Host);
DebugListBox.Items.Add('连接成功');
ConnectButton.Default:=false;
end;
end
else
try
IdFTP1.Quit;//关闭客户端与服务器端的连接
finally
ConnectButton.Caption:='连接';
DebugListBox.Items.Add('连接失败');
ConnectButton.Enabled:=true;
ConnectButton.Default:=true;
end;
end;
二、文件或图片上传
Procedure TFrmMain.UploadFileCleck(Sender:TObject);
var
FileName : string;
Item : TListItem;
SendFileItem : TListItem;
begin
if not FTPClient.Connected then
exit;
if ListViewLocalFile.Selected =nil then
exit;
Item :=ListViewLocalFile.Selected;
ListViewSendFile.Clear;
//处理所有选中文件
while Item <>nil do
begin
SendFileItem := ListViewSendFile.Items.Add;
SendFileItem.Caption := Item.Caption;
//文件名
SendFileItem.SubItems.Add(Item.SubItems[1]);//文件大小
SendFileItem.SubItems.Add(LocaLPath);
//本地路径
SendFileItem.SubItems.Add('==>');
//图示
SendFileItem.SubItems.Add(RemotePath);//远程路径
SendFileItem.SubItems.Add('');
//状态
//下一个选中的项目
Item:=ListViewLocalFile.GetNextItem(Item,sdAll,[isSelected]);
end;
ListViewSendFile.Refresh;
//刷新传送文件列表
//传送文件
ListViewLocalFile.Enabled :=false;
DriveComboBox1.Enabled:=false;
ListViewRemoteFile.Enabled:=False;
IsTransFerring:=True;
try
//处理所有要传送的文件
while ListViewSendFile.Items.Count>0 do
begin
FileName:=ListViewSendFile.Item[0].Caption;
//文件名
ListViewSendFile.Item[0].SubItems[4]:='正在上传...';
FTPClient.Put(LocalPath+''+FileName);
//上传
DisplayRemoteFileList();
ListViewSendFile.items[0].Delect;
//传送完毕,删除待传送文件列表
ListViewSendFile.Refresh;
end;
//设置相关控件是否可用
ListViewLocalFile.Enabled:=True;
DriveComboBox1.Enabled:=True;
ListVieewRemoteFile.Enabled:=True;
IsTransferring:=False;
except
ListViewSendFile.Items[0].SubItems[4]:='上传错误!';
MessageDlg('上传文件发生错误!',mtError,[mbyes],0);
//设置相关控件是否可用
ListViewLocalFile.Enabled:=True;
DriveCombBox1.Enabled:=True;
ListViewRemoteFile.Enabled:=True;
IsTransferring:=False;
//没有传送状态
end;
end;
三、文件或图片下载
procedure TFrmMain.DownloadFileClick(Sender:TObject);
var
FileName :String;
Item ,SendFileItem : TListItem;
begin
if not FTPClient.Connected Then
//没有连接到服务器,退出
exit;
if ListViewRemoteFile.Selected;
//得到选中的文件
ListViewSendFile.Clear;
//清空要传送的文件列表
//处理所有选中的文件
While Item <> nil do
begin
SendFileItem :=ListViewSendFile.Items.Add;
//增加到列表
//列表项赋值
SendFileItem.Caption := Item.Caption;//文件名
SendFileItem.SubItems.Add(Item.SubItems[1]);//文件大小
SendFileItem.SubItems.Add(LocaLPath);
//本地路径
SendFileItem.SubItems.Add('<==');
//图示
SendFileItem.SubItems.Add(RemotePath);
//远程路径
SendFileItem.SubItems.Add('');
//下一个选中的项目
Item:=ListViewRemoteFile.GetNextItem(Item,sdAll,[isSelected]);
end;
ListViewSendFile.Refresh;
//刷新传送文件列表
//传送文件
ListViewRemoteFile.Enabled:=false;
//禁止操作相关控件
IsTransferring:=True;
//设置正在传送
try
//处理所有要传送的文件
while ListViewSendFile.Items.Count >0 do
begin
FileName := ListViewSendFile.Items[0].Caption;
//文件名
ListViewSendFile.Items[0].SubItems[4]:='正在下载...';
ListViewSendFile.Refresh;
//刷新传送文件列表
if FileExists(FileName)then //判断文件是否存在begin
if MessageDlg('文件己存在,继续下载吗?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
FTPClient.Get(FileName,LocalPath+''+FileName,false,true)
//续传
else
FTPClient.Get(FileName,LocalPath+''+FileName,true,False);//覆盖
end
else
FTPClient.Get(FileName,LocalPath+''+FileName,false);
//下载
ListViewSendFile.items[0].Delect;
//传送完毕,删除待传送文件列表
ListViewSendFile.Refresh;
//刷新待传送列表
DisplayLocalFileList();
//刷新本地文件列表
end;
ListViewRemoteFile.Enabled:=true;
IsTransferring:=False;
//没有传送状态
except
ListViewSendFile.Items[0].SubItems[4]:='下载错误';
ListViewSendFile.Refresh;
//刷新待传送文件列表
MessageDlg('下载文件发生错误!',mtError,[nbYes],0);
ListViewRemoteFile.Enabled:=True;
IsTransferring:=False;
//没有传送状态
end;
end;以上代码在Delphi7中调试通过。
第二篇:IIS的FTP提示指定用户名或密码无法登陆到FTP服务器
IIS的FTP提示:指定用户名或密码无法登陆到FTP服务器
每次建立FTP站点时都选择的“隔离用户模式”,而IIS 6.0对隔离用户的站点配置有一个特定的要求,那就是你必须在FTP根目录下建立一个名字叫做“LoacalUser”的子目录,而且还要在这个“LoacalUser”子目录下再建立N个子目录,并且这N个子目录的名字必须要和计算机中已存在的N个用户完全一一对应,否则即使建立了站点也连接不成功,就像上面截图遇到的那样。举个例子,比如我们建立了一个叫做“WebFtp”的FTP站点,站点的根目录指向D盘的“WEB”文件夹。那么,此时如果你想建立一个隔离用户模式的FTP站点,需要按照下面的步骤来操作: 第一步,首先在“D:/WEB”目录下建立一个命名为“LoacalUser”目录(记住,名字必须是“LoacalUser”)。第二步,在“LoacalUser”目录下再建立N个子目录,假设命名为“User1”、“User2”...“UserN”。第三步,进入计算机管理,添加用户或用户组。添加N个用户,用户名依次为“User1”、“User2”...“UserN”,总之必须与第二步建立的这N个子目录的名称一一对应(你也可以新建一个FTPUser组,并把这N个用户放到FTPUser的组里面,最后为了安全起见,别忘了从Users组中把你刚才添加的这些用户都删除掉)。第四步,打开浏览器,输入 ftp://你的IP地址,比如: ftp://192.168.210.21,在弹出的对话框中输入用户名密码。经过以上四个步骤,隔离模式的FTP站点就可以运行了。如果你觉得这样很麻烦,那么在新建站点向导中,干脆就不要选择隔离模式,这样的话直接就可以链接到ftp服务器了。
第三篇:如何卸载或禁止北信源内网监控客户端的两个有效方法
如何卸载或禁止北信源内网监控客户端的两个有效方法
北信源内网监控客户端进程运行的特征:启动任务管理器,可以看到vrvrf_c.exe、vrvedp_m.exe、vrvsafec.exe、watchclient.exe四个文件。如何卸载或禁止北信源内网监控客户端?经验证有效的方法有两个:
方法一: 北信源软件安装后会在系统文件夹c:/WINDOWS/system32下面出现很多北信源软件的东西,这些文件名称大多带有edp、vrv字样,很容易识别出来,还有两个是watchclient开头的文件,找出这些文件。运行360安全卫士,打开文件粉碎机,先把system32下找到的这些文件粉碎了,有的文件在粉碎时候会出现程序错误,先别管把你能粉碎的都粉碎了,然后回头过来再次粉碎那些之前粉碎出现问题的,这样应该能够全粉碎了;粉碎的时候最好先注意顺序,把后缀是.hk的放最后;为防止意外,那个vxd的文件先不要放进去。再找出system32文件夹下的Tcpview.exe和BackClient.exe两个文件,删除掉,删除不掉就粉碎了,接着找出Distribute、Language、SysMenu、SysUtility、temp、pic这样的几个文件夹(注意看一下文件夹的创建时间,看看是不是你安装北信源软件的时间),把这几个文件夹及其里面的文件全部删除掉。全部粉碎成功后,重新启动电脑,出现蓝屏,进入安全模式,发现进程没用运行,ok,打开注册表编辑器,搜索vrvwatch,将找到的全部删除,重启电脑,进程一切正常。这时还剩下一个驱动没有删除,找到后删除就ok了。
方法二:本办法不是教你如何卸载该程序,而是教你在程序完整的情况下,进行上外网等防止被监控到。首先,请先把你的内网网线拔掉,在命令行中进入system32目录下,输入dir *pol* , 找到vrvpolicy.xml文件,使用 notepad vrvpolicy.xml 命令打开编辑,你可以在里面发现许多例如“
开始-运行-cmd
C:Documents and SettingsAdministrator>cd WINDOWSsystem32 C:WINDOWSsystem32>dir *pol*
C:WINDOWSsystem32>notepadvrvpolicy.xml
这个时候会弹出记事本,删除xml中除了根节点的全部内容,然后保存。
C:WINDOWSsystem32>attrib.exe +r vrvpolicy.xml
给文件增加只读属性,然后马上重启计算机即可。