第一篇:Delphi客戶端通過(guò)FTP服務(wù)器上傳或下載文件或圖片方法
Delphi客戶端通過(guò)FTP服務(wù)器上傳或下載文件或圖片方法
首先在服務(wù)器端建立FTP服務(wù)器,網(wǎng)上有這種類型的軟件,安裝好后,在客戶端建立服務(wù)器連接,然后再上傳或下載文件或圖片。
一、服務(wù)器連接
procedure TForm1.ConnectButtonClick(Sender: TObject);begin if not IdFTP1.Connected then //如果與服務(wù)器斷開連接
begin
try
IdFTP1.Username:=UserIDEdit.Text;
IdFTP1.Password:=PasswordEdit.Text;
IdFTP1.Host:=FtpServerEdit.Text;
IdFTP1.Connect;//Connect;
Except //異常處理
Application.MessageBox('服務(wù)器連接失敗!','智博軟件');
end;
ConnectButton.Enabled:=true;
if IdFTP1.Connected then
begin
ConnectButton.Caption:='斷開';
DebugListBox.Items.Add('主機(jī)名為:'+IdFTP1.Host);
DebugListBox.Items.Add('連接成功');
ConnectButton.Default:=false;
end;
end
else
try
IdFTP1.Quit;//關(guān)閉客戶端與服務(wù)器端的連接
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);//遠(yuǎn)程路徑
SendFileItem.SubItems.Add('');
//狀態(tài)
//下一個(gè)選中的項(xiàng)目
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;
//設(shè)置相關(guān)控件是否可用
ListViewLocalFile.Enabled:=True;
DriveComboBox1.Enabled:=True;
ListVieewRemoteFile.Enabled:=True;
IsTransferring:=False;
except
ListViewSendFile.Items[0].SubItems[4]:='上傳錯(cuò)誤!';
MessageDlg('上傳文件發(fā)生錯(cuò)誤!',mtError,[mbyes],0);
//設(shè)置相關(guān)控件是否可用
ListViewLocalFile.Enabled:=True;
DriveCombBox1.Enabled:=True;
ListViewRemoteFile.Enabled:=True;
IsTransferring:=False;
//沒(méi)有傳送狀態(tài)
end;
end;
三、文件或圖片下載
procedure TFrmMain.DownloadFileClick(Sender:TObject);
var
FileName :String;
Item ,SendFileItem : TListItem;
begin
if not FTPClient.Connected Then
//沒(méi)有連接到服務(wù)器,退出
exit;
if ListViewRemoteFile.Selected;
//得到選中的文件
ListViewSendFile.Clear;
//清空要傳送的文件列表
//處理所有選中的文件
While Item <> nil do
begin
SendFileItem :=ListViewSendFile.Items.Add;
//增加到列表
//列表項(xiàng)賦值
SendFileItem.Caption := Item.Caption;//文件名
SendFileItem.SubItems.Add(Item.SubItems[1]);//文件大小
SendFileItem.SubItems.Add(LocaLPath);
//本地路徑
SendFileItem.SubItems.Add('<==');
//圖示
SendFileItem.SubItems.Add(RemotePath);
//遠(yuǎn)程路徑
SendFileItem.SubItems.Add('');
//下一個(gè)選中的項(xiàng)目
Item:=ListViewRemoteFile.GetNextItem(Item,sdAll,[isSelected]);
end;
ListViewSendFile.Refresh;
//刷新傳送文件列表
//傳送文件
ListViewRemoteFile.Enabled:=false;
//禁止操作相關(guān)控件
IsTransferring:=True;
//設(shè)置正在傳送
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('文件己存在,繼續(xù)下載嗎?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
FTPClient.Get(FileName,LocalPath+''+FileName,false,true)
//續(xù)傳
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;
//沒(méi)有傳送狀態(tài)
except
ListViewSendFile.Items[0].SubItems[4]:='下載錯(cuò)誤';
ListViewSendFile.Refresh;
//刷新待傳送文件列表
MessageDlg('下載文件發(fā)生錯(cuò)誤!',mtError,[nbYes],0);
ListViewRemoteFile.Enabled:=True;
IsTransferring:=False;
//沒(méi)有傳送狀態(tài)
end;
end;以上代碼在Delphi7中調(diào)試通過(guò)。
第二篇:IIS的FTP提示指定用戶名或密碼無(wú)法登陸到FTP服務(wù)器
IIS的FTP提示:指定用戶名或密碼無(wú)法登陸到FTP服務(wù)器
每次建立FTP站點(diǎn)時(shí)都選擇的“隔離用戶模式”,而IIS 6.0對(duì)隔離用戶的站點(diǎn)配置有一個(gè)特定的要求,那就是你必須在FTP根目錄下建立一個(gè)名字叫做“LoacalUser”的子目錄,而且還要在這個(gè)“LoacalUser”子目錄下再建立N個(gè)子目錄,并且這N個(gè)子目錄的名字必須要和計(jì)算機(jī)中已存在的N個(gè)用戶完全一一對(duì)應(yīng),否則即使建立了站點(diǎn)也連接不成功,就像上面截圖遇到的那樣。舉個(gè)例子,比如我們建立了一個(gè)叫做“WebFtp”的FTP站點(diǎn),站點(diǎn)的根目錄指向D盤的“WEB”文件夾。那么,此時(shí)如果你想建立一個(gè)隔離用戶模式的FTP站點(diǎn),需要按照下面的步驟來(lái)操作: 第一步,首先在“D:/WEB”目錄下建立一個(gè)命名為“LoacalUser”目錄(記住,名字必須是“LoacalUser”)。第二步,在“LoacalUser”目錄下再建立N個(gè)子目錄,假設(shè)命名為“User1”、“User2”...“UserN”。第三步,進(jìn)入計(jì)算機(jī)管理,添加用戶或用戶組。添加N個(gè)用戶,用戶名依次為“User1”、“User2”...“UserN”,總之必須與第二步建立的這N個(gè)子目錄的名稱一一對(duì)應(yīng)(你也可以新建一個(gè)FTPUser組,并把這N個(gè)用戶放到FTPUser的組里面,最后為了安全起見,別忘了從Users組中把你剛才添加的這些用戶都刪除掉)。第四步,打開瀏覽器,輸入 ftp://你的IP地址,比如: ftp://192.168.210.21,在彈出的對(duì)話框中輸入用戶名密碼。經(jīng)過(guò)以上四個(gè)步驟,隔離模式的FTP站點(diǎn)就可以運(yùn)行了。如果你覺(jué)得這樣很麻煩,那么在新建站點(diǎn)向?qū)е校纱嗑筒灰x擇隔離模式,這樣的話直接就可以鏈接到ftp服務(wù)器了。
第三篇:如何卸載或禁止北信源內(nèi)網(wǎng)監(jiān)控客戶端的兩個(gè)有效方法
如何卸載或禁止北信源內(nèi)網(wǎng)監(jiān)控客戶端的兩個(gè)有效方法
北信源內(nèi)網(wǎng)監(jiān)控客戶端進(jìn)程運(yùn)行的特征:?jiǎn)?dòng)任務(wù)管理器,可以看到vrvrf_c.exe、vrvedp_m.exe、vrvsafec.exe、watchclient.exe四個(gè)文件。如何卸載或禁止北信源內(nèi)網(wǎng)監(jiān)控客戶端?經(jīng)驗(yàn)證有效的方法有兩個(gè):
方法一: 北信源軟件安裝后會(huì)在系統(tǒng)文件夾c:/WINDOWS/system32下面出現(xiàn)很多北信源軟件的東西,這些文件名稱大多帶有edp、vrv字樣,很容易識(shí)別出來(lái),還有兩個(gè)是watchclient開頭的文件,找出這些文件。運(yùn)行360安全衛(wèi)士,打開文件粉碎機(jī),先把system32下找到的這些文件粉碎了,有的文件在粉碎時(shí)候會(huì)出現(xiàn)程序錯(cuò)誤,先別管把你能粉碎的都粉碎了,然后回頭過(guò)來(lái)再次粉碎那些之前粉碎出現(xiàn)問(wèn)題的,這樣應(yīng)該能夠全粉碎了;粉碎的時(shí)候最好先注意順序,把后綴是.hk的放最后;為防止意外,那個(gè)vxd的文件先不要放進(jìn)去。再找出system32文件夾下的Tcpview.exe和BackClient.exe兩個(gè)文件,刪除掉,刪除不掉就粉碎了,接著找出Distribute、Language、SysMenu、SysUtility、temp、pic這樣的幾個(gè)文件夾(注意看一下文件夾的創(chuàng)建時(shí)間,看看是不是你安裝北信源軟件的時(shí)間),把這幾個(gè)文件夾及其里面的文件全部刪除掉。全部粉碎成功后,重新啟動(dòng)電腦,出現(xiàn)藍(lán)屏,進(jìn)入安全模式,發(fā)現(xiàn)進(jìn)程沒(méi)用運(yùn)行,ok,打開注冊(cè)表編輯器,搜索vrvwatch,將找到的全部刪除,重啟電腦,進(jìn)程一切正常。這時(shí)還剩下一個(gè)驅(qū)動(dòng)沒(méi)有刪除,找到后刪除就ok了。
方法二:本辦法不是教你如何卸載該程序,而是教你在程序完整的情況下,進(jìn)行上外網(wǎng)等防止被監(jiān)控到。首先,請(qǐng)先把你的內(nèi)網(wǎng)網(wǎng)線拔掉,在命令行中進(jìn)入system32目錄下,輸入dir *pol* , 找到vrvpolicy.xml文件,使用 notepad vrvpolicy.xml 命令打開編輯,你可以在里面發(fā)現(xiàn)許多例如“
開始-運(yùn)行-cmd
C:Documents and SettingsAdministrator>cd WINDOWSsystem32 C:WINDOWSsystem32>dir *pol*
C:WINDOWSsystem32>notepadvrvpolicy.xml
這個(gè)時(shí)候會(huì)彈出記事本,刪除xml中除了根節(jié)點(diǎn)的全部?jī)?nèi)容,然后保存。
C:WINDOWSsystem32>attrib.exe +r vrvpolicy.xml
給文件增加只讀屬性,然后馬上重啟計(jì)算機(jī)即可。