當前位置:首頁 » 網頁前端 » ftp腳本等待下載完成
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

ftp腳本等待下載完成

發布時間: 2023-06-05 17:04:17

Ⅰ 在IE中FTP下載到99%就停住了,目標文件夾中也找不到未完成的文件。咋辦

你是直接另存為的吧?這樣下載其實是先把文件下載到IE的臨時文件夾內,下載完成後,再把它復制到你要求的目錄中。下載到99%其實已經下載完成了,在臨時文件夾內!只是由於系統出現故障,不能自動將它復制到你要求的目錄中。
解決的方法,簡單點,就是手動復制,先取消下載,再從IE工具->Internet選項->常規選項卡的臨時文件設置中找到臨時文件夾,在裡面把你下載的東西手動復制出來。
徹底的方法是重裝IE。

Ⅱ C#從ftp下載文件如何判斷下載結束

從流里讀取的位元組數為0時,則下載結束。

c#實現絕如 ftp ;http;共享方式下載文件 並對比本地文件和伺服器文件的更新時間 判斷性下載

//從ftp伺服器上下載文件的功能
public void Download(string ftpServerIP, string ftpUserID, string ftpPassword, string fileName, string Destination)
{
FtpWebRequest reqFTP;
try
{
FileStream outputStream = new FileStream(Destination + "\\" + fileName, FileMode.Create);
// 根據uri創建FtpWebRequest對象行手
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/" + fileName));
// 指定執行什麼命令
reqFTP.Method = WebRequestMethods.Ftp.DownloadFile;
// 默認為true,連接不會被關閉
reqFTP.UseBinary = true;
// ftp用戶名和密碼
reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
FtpWebResponse ftpresponse = (FtpWebResponse)reqFTP.GetResponse();
Stream ftpStream = ftpresponse.GetResponseStream();
long cl = ftpresponse.ContentLength;
int bufferSize = 2048;
int readCount;
byte[] buffer = new byte[bufferSize];
readCount = ftpStream.Read(buffer, 0, bufferSize);
while (readCount > 0)
{
outputStream.Write(buffer, 0, readCount);
readCount = ftpStream.Read(buffer, 0, bufferSize);
}
ftpStream.Close();
outputStream.Close();
ftpresponse.Close();
}
catch (Exception ex)
{

}
}
//從http伺服器上下載文件的功能
//為服務並帶啟器路徑server_path
//本地存儲路徑local_path
public void Download(string server_path, string local_path)
{
HttpWebRequest req;
try
{
string folder = local_path.Substring(0, local_path.LastIndexOf("\\"));
if (!Directory.Exists(folder))
Directory.CreateDirectory(folder);
// 根據uri創建FtpWebRequest對象
req = (HttpWebRequest)HttpWebRequest.Create(new Uri(server_path));
// 指定執行什麼命令
req.Method = WebRequestMethods.Http.Get;
HttpWebResponse response = (HttpWebResponse)req.GetResponse();
if (File.Exists(local_path))
{
FileInfo localFile = new FileInfo(local_path);
if (localFile.LastWriteTime > response.LastModified) return;
}
FileStream outputStream = new FileStream(local_path, FileMode.Create);
Stream stream = response.GetResponseStream();
long cl = response.ContentLength;
int bufferSize = 2048;
int readCount;
byte[] buffer = new byte[bufferSize];
readCount = stream.Read(buffer, 0, bufferSize);
while (readCount > 0)
{
outputStream.Write(buffer, 0, readCount);
readCount = stream.Read(buffer, 0, bufferSize);
}
stream.Close();
outputStream.Close();
response.Close();
}
catch (Exception ex)
{
string s = ex.Message;
}
}

//從共享文件夾下載
public void Download(string server_path, string local_path, int i)
{
try
{
server_path = "\\" + server_path;
string folder = local_path.Substring(0, local_path.LastIndexOf("\\"));
if (!Directory.Exists(folder))
Directory.CreateDirectory(folder);
if (!File.Exists(server_path)) return;

//伺服器文件信息
FileInfo serverInfo = new FileInfo(server_path);
DateTime serverTime = serverInfo.LastWriteTime;
if (File.Exists(local_path))
{
FileInfo localinfo = new FileInfo(local_path);
DateTime localTime = localinfo.LastWriteTime;

if (localTime >= serverTime)
return;
}

serverInfo.CopyTo(local_path, true);
return;
}
catch (Exception ex)
{
string s = ex.Message;
}
}

Ⅲ 為什麼不能從FTP伺服器上,下載文件

沒太明白。
正確的下載FTP伺服器上文件的方法是這樣的:
用FTP軟體登入FTP伺服器,(直接在『我的電腦』中輸入ftp://伺服器IP:埠號 也行)你可能需要用戶名和密碼,當然,如果是匿名伺服器的話,直接進入就可以。
然後,在伺服器上瀏覽找到你需要的文件,比如abc.exe。那麼,比較簡單的方法就是直接把它拖到你本地的文件夾里吧~比如扔桌面上。當然,用右鍵里的「復制到」等菜單也能產生下載文件的效果————最後等待下載完成,搞定~

所謂的上傳下載是對你自己來說的,以你自己為參考物,而不是伺服器
下載——從伺服器上往自己機器上拷東西
上傳——從自己機器上把東西傳給FTP伺服器
自己的計算機在從FTP上下載東西的時候,有無共享文件夾都無所謂

Ⅳ 請在這里概述您的問題FTP下載到99%就停住了,目標文件夾中也找不到未完成的文件。咋辦

重新裝系統吧,格式化裝

Ⅳ java FTP下載文件在代碼中如何實現知道下載完成

(KmConfigkmConfig,StringfileName,StringclientFileName,OutputStreamoutputStream){
try{
StringftpHost=kmConfig.getFtpHost();
intport=kmConfig.getFtpPort();
StringuserName=kmConfig.getFtpUser();
StringpassWord=kmConfig.getFtpPassword();
Stringpath=kmConfig.getFtpPath();
FtpClientftpClient=newFtpClient(ftpHost,port);//ftpHost為FTP伺服器的IP地址,port為FTP伺服器的登陸埠,ftpHost為String型,port為int型。
ftpClient.login(userName,passWord);//userName、passWord分別為FTP伺服器的登陸用戶名和密碼
ftpClient.binary();
ftpClient.cd(path);//path為FTP伺服器上保存上傳文件的路徑。
try{
TelnetInputStreamin=ftpClient.get(fileName);
byte[]bytes=newbyte[1024];
intcnt=0;
while((cnt=in.read(bytes,0,bytes.length))!=-1){
outputStream.write(bytes,0,cnt);
}
//##############################################
//這里文件就已經下載完了,自己理解一下
//#############################################

outputStream.close();
in.close();
}catch(Exceptione){
ftpClient.closeServer();
e.printStackTrace();
}
ftpClient.closeServer();
}catch(Exceptione){
System.out.println("下載文件失敗!請檢查系統FTP設置,並確認FTP服務啟動");
}
}

Ⅵ 伺服器,用FTP不論上傳或下載, 總是有最後幾個文件要等幾分鍾才能完成,為什麼

我來說說上傳吧,所有的上傳都是先發送到網路上,伺服器再把它接收下去,這個是需要時間的啊,伺服器得一個緩沖區一個緩沖區的處理,即使上傳的客戶端已經斷開了,這部分上傳的數據還在網路上,就是說伺服器還沒有接收完,這是可以的啊。當伺服器處理速度慢,網路不夠暢通的時候,這種情況很常見,都是正常現象。

Ⅶ ftp客戶端24小時不停下載批處理

原創路徑tmp自己根據實際情況改一下。安裝路徑和下載文件名在第2、3行設置一下。

@echo off
set path=c:\flashfxp
set f=test.rmvb
if not exist e:\download md e:\download

:begin

FlashFXP.exe -c4 -local=」e:\download」 -download ftp://user:password@IP:port -remotepath=」/tmp/%f%」 -localpath=」e:\download\%f%」
ping -n 5 127.1>nul
del %f%
goto begin

Ⅷ 自己做BAT腳本 通過FTP伺服器自動下載或上傳到本機電腦 公司裡面用的研究了很久

1. ftp.tmp 是用命令產生的一個ftp命令文本,這個文本在運行ftp命令之後會自動運行。
ftp.tmp 的內容是
open 192.168.10.10
bak
bak
mget * (這句就是下載所有文件)
bye
2. 要達到你上傳d:/1.txt,把批處理內容改為
@echo off
@echo xp的任務開始le...................
echo open 192.168.10.10>>ftp.tmp
echo bak>>ftp.tmp
echo bak>>ftp.tmp
echo put d:/1.txt>>ftp.tmp
echo bye>>ftp.tmp
ftp -i -s:ftp.tmp
del ftp.tmp
@echo 搞定收工。
@echo on

還有問題Q 7841983

Ⅸ 批處理來完成FTP文件自動下載

    前幾天筆者遇到一個需求,在windows平台下使用ftp來遠程獲取交換機的配置文件。鑒於每一次都需要在命令行裡面手動輸入,過程繁瑣,於是想著使用腳本來完成這個重復性的工作,實現自動化。python的ftplib庫也可以解決這個問題,但是筆者未來和其他bat腳本揉在一起,直接windows平台下使用批處理bat來完成。

    ftp -s可以指定包含ftp命令的文本文件,ftp啟動後這些命令將自動運行。

主批處理文件:ftp_main.bat 

ftp命令批處理文件:ftp_task.bat,文件放置於D盤下。

    除了FTP之外,date修改電腦日期,time修改電腦時間,echo ^G測試電腦聲音。注意,「^G」是在命令行中使用ctrl + g輸入的,可以使用echo ^G > test.txt來獲取這個字元。

    最後這個腳本東湊西湊,界面如下: