當前位置:首頁 » 文件傳輸 » ftp文件io異常關閉
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

ftp文件io異常關閉

發布時間: 2022-06-26 16:01:39

1. ftp文件夾錯誤 詳細信息 FTP終止會話

請正確配置你的防火牆/殺毒軟體/FTP伺服器和你的用戶帳戶許可權. 基於你的問題得出以下分析結論:
一、在ICF(Internet連接防火牆)中沒有添加FTP的訪問 許可.
二、個人防火牆不允許FTP連接出站
三、本地用戶帳戶不具備訪問FTP的許可權
四、IIS伺服器配置錯誤
五、FTP或HTTP服務被終止

解決方案: 一、在本地連接高級屬性中設置防火牆的例外,添加21和80 埠,允許FTP和HTTP的出站連接 二、修改個人防火牆,添加21和80埠允許出站連接 三、修改FTP和HTTP訪問許可權和NTFS許可權允許本地用戶 帳戶訪問 四、正確配置FTP訪問策略,主目錄路徑,訪問許可權,是 否匿名訪問以及IP策略 五、IIS服務被終止,請重新啟動IIS服務或計算機再試

參考網路知道 不能解決請HI我

2. 關於FTPClient文件夾重命名的問題

環境描述:
1.服務端:採用serv-u11.3版本的伺服器管理工具作為ftp服務端
2.客戶端:採用FTPClient 1.4.1組件作為客戶端訪問ftp伺服器

我們在用FTPClient組件上傳文件時,當上傳的文件名為中文時,有以下幾種情況:
一、當沒有禁用serv-u服務端工具的上傳下載編碼時,即:
沒有將域限制和設置里默認的opts-utf8禁止,在:域限制和設置---FTP設置選項卡---全局屬性---高級選項---第三個多選框。
1.客戶端代碼中如果編碼為:UTF-8,那麼完全沒有問題,中文命名的文件可以正常上傳;參考以下代碼:
/**
* FTP上傳單個文件測試
*/
public static void testUpload() {
FTPClient ftpClient = new FTPClient();
FileInputStream fis = null;

try {
ftpClient.connect("此處填寫伺服器IP");
ftpClient.login("用戶名", "密碼");

File srcFile = new File("F:\\路由器配置.txt");
fis = new FileInputStream(srcFile);
//設置上傳目錄
ftpClient.changeWorkingDirectory("/admin/pic");
ftpClient.setBufferSize(1024);
ftpClient.setControlEncoding("UTF-8");//這里設置編碼
//設置文件類型(二進制)
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
boolean temp = ftpClient.storeFile(new String("路由器配置.txt".getBytes("UTF-8"),"iso-8859-1"), fis);//編碼轉換
System.out.println("temp-------"+temp);
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException("FTP客戶端出錯!", e);
} finally {
IOUtils.closeQuietly(fis);
try {
ftpClient.disconnect();
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException("關閉FTP連接發生異常!", e);
}
}
}

2.客戶端代碼中如果編碼為:GB2312,可以上傳,但是上傳的文件名為亂碼,代碼同上,改變紅顏色的字的編碼為GB2312即可;

二、一、當不選serv-u服務端工具的上傳下載的默認編碼時,即:
在:域限制和設置---FTP設置選項卡---全局屬性---高級選項---第三個多選框不要勾選時;
1.客戶端代碼中如果編碼為:UTF-8,文件不能上傳,代碼中,temp變數為false;
2.客戶端代碼中如果編碼為:GB2312,文件正常上傳,並且不為亂碼,代碼中,temp變數為true;

綜合上述:將ftp伺服器默認編碼禁用,並且客戶端代碼中以GB2312 編碼上傳並轉化較為合理,解決中文文件名的問題;另外,還有多種情況沒有舉例,大家可以測試一下,以便了解更為透徹。

3. ftp文件夾錯誤 詳細信息:終止FTP會話

請正確配置你的防火牆/殺毒軟體/FTP伺服器和你的用戶帳戶許可權. 基於你的問題得出以下分析結論: 一、在ICF(Internet連接防火牆)中沒有添加FTP的訪問 許可. 二、個人防火牆不允許FTP連接出站 三、本地用戶帳戶不具備訪問FTP的許可權 四、IIS伺服器配置錯誤 五、FTP或HTTP服務被終止 解決方案: 一、在本地連接高級屬性中設置防火牆的例外,添加21和80 埠,允許FTP和HTTP的出站連接 二、修改個人防火牆,添加21和80埠允許出站連接 三、修改FTP和HTTP訪問許可權和NTFS許可權允許本地用戶 帳戶訪問 四、正確配置FTP訪問策略,主目錄路徑,訪問許可權,是 否匿名訪問以及IP策略 五、IIS服務被終止,請重新啟動IIS服務或計算機再試

4. 關於JAVA FTP 客戶端程序異常

501 PORT not allowed after EPSV ALL~~~說明還是網路的問題,我對網路不熟~~~比如用ftp工具的時候,有些ftp站點必須採用被動模式才能連接。下面的你看看吧,或許有用,找網管看看應該使用哪種方式訪問

***************************************************
3. EPSV命令
EPSV請求伺服器在一個數據埠上偵聽等待連接,它可以帶參數。對它的響應是TCP埠號。響應的格式與EPRT參數的很象。這對實現上有很大的方便。而且響應還留下了網路協議和/或網路地址的空位,可以供以後使用。使用擴展地址進行被動模式的響應碼必須是229,對它的解釋如下:
2yz 主動完成
x2z 連接
xy9 進行擴展的被動模式

響應的格式如下:
<指示伺服器已經進入初擴展的被動模式>
(<d><d><d><TCP埠><d>)
包括在括弧內的字元串必須是EPRT打開數據連接的埠。具體如上所未,這里就不多說了。數據連接使用的協議必須和控制連接使用的協議和地址一致,下面是響應的一個例子:
Entering Extended Passive Mode (|||6446|)
標准錯誤代碼500和501對EPSV已經足夠了。在EPSV命令沒有使用參數時,伺服器會基於控制連接所使用的協議選擇數據連接使用的網路協議。但是在有代理的情況下,這種機制可能不合適。因此客戶也需要能夠要求一個指定協議。如果伺服器返回說明它在指定埠不支持此協議,客戶必須發送ABOR(放棄)命令使伺服器關閉連接,然後客戶再使用EPSV命令要求使用特定的網路協議,具體格式如下:
EPSV<空格><網路協議>
如果請求的網路協議是伺服器支持的,那就必須使用此協議;如果不支持,則返回522。最後,EPSV命令可以使用參數"ALL"通過網路地址翻譯器,EPRT命令不再使用。下面是例子:

EPSV<空格>ALL
接收到此命令後,伺服器要拒絕除了EPSV以外所有建立連接的命令。在下一節我們將詳細說明此命令的功能。
**********************************************************************

5. ftp 錯誤 java.io.FileNotFoundException: STOU /goodtum/14.png

io異常FIlenotFoundException,文件沒找到異常
意思是
STOU /goodtum/14.png
這個路徑下的圖片沒有找到。意思說是這個文件夾下沒有14.png這張圖片。

6. FTP伺服器連接異常怎麼辦

1\用戶密碼不正確
2\埠不正確
3\伺服器沒有正常工作,或關閉了ftp服務,可以先ping一下看是否正常

7. 如何解決FtpWebRequest基礎連接已經關閉;接收時發生錯誤

方法:去掉FTP伺服器中的中文歡迎詞或改成英文歡迎詞就不會發生錯誤,這是微軟的一個BUG。
代碼:
public void Upload(string filename)
{
//IP
string FtpIP = System.Web.Configuration.WebConfigurationManager.AppSettings["ftpIP"];
//用戶名
string FtpUserName = System.Web.Configuration.WebConfigurationManager.AppSettings["ftpUsrName"];
//用戶密碼
string FtpPassord = System.Web.Configuration.WebConfigurationManager.AppSettings["ftpUsrPsw"];
FileInfo fileInf = new FileInfo(filename);
string uri = "ftp://" + FtpIP + "/SYS/" + fileInf.Name;
FtpWebRequest reqFTP;
// 根據uri創建FtpWebRequest對象
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));
// ftp用戶名和密碼
reqFTP.Credentials = new NetworkCredential(FtpUserName, FtpPassord);
// 默認為true,連接不會被關閉
// 在一個命令之後被執行
reqFTP.KeepAlive = false;
// 指定執行什麼命令
reqFTP.Method = WebRequestMethods.Ftp.UploadFile;
// 指定數據傳輸類型
reqFTP.UseBinary = true;
// 上傳文件時通知伺服器文件的大小
reqFTP.ContentLength = fileInf.Length;
// 緩沖大小設置為2kb
int buffLength = 2048;
byte[] buff = new byte[buffLength];
int contentLen;
// 打開一個文件流 (System.IO.FileStream) 去讀上傳的文件
FileStream fs = fileInf.OpenRead();
try
{
// 把上傳的文件寫入流
//Stream strm = reqFTP.GetRequestStream();
Stream strm = reqFTP.GetRequestStream();
// 每次讀文件流的2kb
contentLen = fs.Read(buff, 0, buffLength);
// 流內容沒有結束
while (contentLen != 0)
{
// 把內容從file stream 寫入 upload stream
strm.Write(buff, 0, contentLen);
contentLen = fs.Read(buff, 0, buffLength);
}
// 關閉兩個流
strm.Close();
fs.Close();
}
catch (Exception ex)
{
throw ex;
}
}

8. 如何開啟和關閉FTP功能

1,打開Windows10系統,在電腦上找到「控制面板」,點擊打開。

9. ftp傳輸不了文件 顯示嚴重文件傳輸錯誤

原因:設置錯誤造成。解決方法:重新設置伺服器來解決此問題。

如下參考:

1.首先打開個人FTP軟體,彈出如下界面。個人可選擇直接在窗口中輸入相關信息或通過網站管理器保存個人用戶信息。使用站點管理器保存個人信息,如下圖。

10. 為什麼我的設置的FTP伺服器自動關閉高手解答!

FrontPage 98網站FTP到NT伺服器

在《個人電腦也能用上ASP》一文里我們講的是單機環境上如何用PWS 4.0 創建個人網站,如果是配合的FrontPage 98,則在發布(Publish)時是傳送到本機上Inetpub目錄的wwwroot子目錄中的,網站名稱默認是_of_webname(這里的Webname是在您在第一次運行FrontPage創建網站時輸入的目錄名)。因此,對於單機來說,Publish沒有什麼特別要求或難點。但對於一個中、小型的公司來講,如果需要每個用戶將自己負責的部門或小組的網頁上傳到伺服器上,則需要一些煩瑣的手續了。我們經過多次實驗,成功地實現利用FrontPage 98的FTP功能將Windows 98 工作站上的網頁Publish到裝有IIS的伺服器上。總結如下(本文以Windows NT Server 4.0 自身提供的 IIS 2.0 為例):
大致步驟如下:
一、准備FTP服務及登錄用戶
二、設置FTP服務
三、傳送
一、准備工作 1、如果尚未安裝IIS(Microsoft Internet Information Server 2.0),則應先安裝,安裝路徑為NT光碟I386目錄下的InetSrv子目錄,安裝程序為Inetsetup.EXE。注意:如果不需要Gopher服務,可取消其復選框;如果系統已安裝SQL等ODBC驅動程序,則也應將取消,否則會因版本沖突而在啟動時出錯;另外,在安裝過程中,還會有一個是否允許Guest用戶訪問FTP服務的對話框,選擇否對後結續過程並無大的影響。安裝成功,會在啟動菜單的程序出現Microsoft Internet Server(公用)組,其中的Internet 服務管理器將在下面的講解中處於重要地位。 2、如果尚未為工作站用戶配置帳號,則應到開始/程序/管理工具(公用)/域用戶管理器中去添加,對FTP用戶來說,只要是域用戶(即Domain Users)即可。 3、本文中示例說明: 伺服器計算機名稱:Web_Server IIS 目錄路徑:D:\Inetpub 用戶 FTP 目錄路徑:D:\Inetpub\wwwroot\lanhome FTP 用戶名:Heatch Windows 98 工作站計算機名稱:Heatch PWS 4.0 目錄路徑:C:\Inetpub FrontPage 98 網站目錄路徑:C:\Inetpub\wwwroot\lanhome
二、配置FTP服務 1、選取開始/程序/Microsoft Internet Server(公用)/Internet 服務管理器,出現一個Microsoft Internet Service Manager窗口,其中列出了當前正在進行的 Internet 服務。 2、雙擊FTP服務,進入Web_Server 的 FTP 服務屬性窗口。 (1)首先是服務頁框 TCP 埠確認當前運行的 FTP 服務的埠。採用默認埠 21。 連接超時值 以秒為單位設置伺服器在等待一定的時間後斷開與非活動用戶的連接。其范圍可在100到32,767 秒之間,作用是如果 FTP 協議不能關閉連接時,在此時間後系統會自動關閉所有連接。默認值為900秒。 允許匿名連接和僅允許匿名連接 此兩項最為重要。前者設置所有匿名連接許可權所使用的 Windows NT 用戶帳號。只要安裝了 IIS 中的 FTP 服務系統就會自動在 Windows NT 的"域用戶管理器"和"Internet 服務管理器"中創建一個 IUSR_Web_Server 帳號(這里的 Web_Server 是計算機名稱),要注意的是在安裝後必須指定密碼並將兩個地方的密碼設為一致。默認情況下,IIS為所有匿名登錄創建並使用 IUSR_Web_Server 帳號。但是,你不能用這個用戶名和密碼在Windows 98工作站上來登錄並訪問 FTP 服務,因為它只用於 Windows NT ,而且該用戶還應該有本地登錄權力。一般說來,匿名 FTP 用戶可以使用anonymous作為用戶名,以電子郵件地址為密碼來登錄(這跟AceFTP程序中採用的默認用戶ID一樣)。 僅允許匿名登錄的作用是防止使用有管理許可權的帳號進行訪問,選取此項後,即使是Administrator帳號也不能登錄,FTP只能通過登錄伺服器進行本地訪問來管理。 因此,對於內部網來說,可以取消僅允許匿名連接框。 (2)目錄頁框 選取添加按鈕,出現目錄屬性窗口;單擊瀏覽按鈕,在選定目錄窗口確定 FTP 服務要使用的目錄路徑,在本例中為D:\Inetpub\wwwroot\lanhome(注意,這里的lanhome是在wwwroot目錄中新的子目錄);選取訪問方式的可寫,單擊確定返回;在目錄屬性窗口,選取虛擬目錄單選按鈕,在別名一欄輸入lanhome(這樣做的目的有兩個,一是在 FTP 時僅指明lanhome即可而不必管其是位於哪個磁碟哪個目錄;二則可以防止惡意者循原目錄入侵);對於目錄列表樣式一項,由於大多數瀏覽器接受 UNIX 格式,所以為了最大的兼容性應選擇 UNIX格式。 其它的採用默認值即可。
三、傳送 這里假定我們已經將網頁做好,需要上傳到伺服器以測試效果或供他人瀏覽。 (1)首先,在FrontPage Explorer的File菜單里選擇Publish FrontPage Web或Publish圖標; (2)在Publish FrontPage Web窗口,系統在將要傳送的Web地址一欄里取的默認值是http://heatch/_of_lanhome(與我們文章開頭提到的本地單機上一樣),重新輸入http://Web_Server,並單擊確定; (3)在Microsoft Web Publish Wizad窗口,分別在FTP伺服器名稱和目錄路徑分別輸入:Web_Server和 lanhome 。單擊下一步; (4)接下來輸入登錄到該伺服器的帳號和密碼:heatch。單擊完成; (5)系統以你提供的帳號和密碼(此項一定不能空)在網路上搜索你提供的FTP伺服器並試圖登錄;若一切正常,系統將開始將對兩地的目錄進行列表和轉換(如果在 Windows 98 工作站上你是用的 PWS 4.0 提供的 FrontPage Server Extensions 而不是 FrontPage 98 本身的PWS,則如果你在網頁使用了 FrontPage Active elements——如搜索表單、討論表單等活動元件,系統會將使用了此類元件的網頁列表出來,並警告說 IIS 中這些元件將無法使用); (6)如果登錄成功,系統就開始傳送,並給出一個動態的過程,顯示共有多少個文件需要上傳,正在傳送的文件名,尚有多少個未上傳以及還需要多少時間。 (7)現在,我們在工作站上啟動IE,在地址欄輸入http://web_server/lanhome,怎麼樣,是不是這樣也建成了一個WEB伺服器?!