最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java web FTPClient實現(xiàn)上傳文件到指定服務(wù)器

 更新時間:2018年06月10日 14:03:08   作者:hdafgdax  
這篇文章主要為大家詳細介紹了java web FTPClient實現(xiàn)上傳文件到指定服務(wù)器,具有一定的參考價值,感興趣的小伙伴們可以參考一下

FPClient 實現(xiàn)上傳文件到指定服務(wù)器,供大家參考,具體內(nèi)容如下

調(diào)用

 FileInputStream in=new FileInputStream(new File(fileUrl));  
 moveFile("10.3.3.**", 21, "username", "password", path, filename, in);

方法

/** 
  * Description: 向FTP服務(wù)器上傳文件 
  * @param url FTP服務(wù)器hostname 
  * @param port FTP服務(wù)器端口 
  * @param username FTP登錄賬號 
  * @param password FTP登錄密碼 
  * @param path FTP服務(wù)器保存目錄 
  * @param filename 上傳到FTP服務(wù)器上的文件名 
  * @param input 輸入流 
  * @return 成功返回true,否則返回false 
  */ 

public static boolean moveFile(String url,int port,String username, String password, String path, String filename, InputStream input) { 
  boolean success = false; 
  FTPClient ftp = new FTPClient(); 
  try { 
   int reply; 
   ftp.connect(url, port);//連接FTP服務(wù)器 
   //如果采用默認端口,可以使用ftp.connect(url)的方式直接連接FTP服務(wù)器 
   ftp.login(username, password);//登錄 
   reply = ftp.getReplyCode(); 
   if (!FTPReply.isPositiveCompletion(reply)) { 
    ftp.disconnect(); 
    return success; 
   } 
   //創(chuàng)建路徑
   try{
    ftp.makeDirectory(path);
   }catch(Exception e){
       }
   ftp.enterLocalPassiveMode();
   ftp.changeWorkingDirectory(path); 
   boolean f= ftp.storeFile(filename, input);   
   logger.error(f);
   input.close(); 
   ftp.logout(); 
   success = true; 
  } catch (IOException e) { 
   e.printStackTrace(); 
  } finally { 
   if (ftp.isConnected()) { 
    try { 
     ftp.disconnect(); 
    } catch (IOException ioe) { 
    } 
   } 
  } 
  return success; }

一些細節(jié)

FileInputStream.available()返回的實際可讀字節(jié)數(shù),也就是總大小。

FTPClient.storeFile()方法時,就停止在那里,什么反應(yīng)都沒有,出現(xiàn)假死狀態(tài)。
解決方法: 調(diào)用FTPClient.enterLocalPassiveMode()
原 理: 因為ftp server可能每次開啟不同的端口來傳輸數(shù)據(jù),但是在linux上或者其他服務(wù)器上面,由于安全限制,可能某些端口沒有開啟,所以就出現(xiàn)阻塞

FTP默認端口為21 SSH為22 實際傳輸端口為20

查看指定端口,例21
netstat -na|grep 21(端口號)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決springboot配置文件組解決自動配置屬性無法注入問題

    解決springboot配置文件組解決自動配置屬性無法注入問題

    在使用Spring Boot時,可能會遇到配置文件屬性注入失敗的問題,本文描述了一個案例,其中嘗試使用profile文件組指定不同環(huán)境下的配置文件,但遇到了屬性無法成功注入的情況,提供的解決辦法是將Spring Boot的版本號從2.2.0.RELEASE升級到2.4.0
    2024-09-09
  • MyBatis高級映射和查詢緩存

    MyBatis高級映射和查詢緩存

    這篇文章主要介紹了MyBatis高級映射和查詢緩存的相關(guān)資料,需要的朋友可以參考下
    2016-06-06
  • Spring實現(xiàn)文件上傳(示例代碼)

    Spring實現(xiàn)文件上傳(示例代碼)

    Spring可以繼承commons-fileupload插件來實現(xiàn)文件上傳的功能。分為前端JSP編寫和后臺Controller的編寫
    2013-10-10
  • 最新評論

    依兰县| 吉林省| 金华市| 泰兴市| 靖安县| 福建省| 荥经县| 湖南省| 盐池县| 尖扎县| 商都县| 尤溪县| 如东县| 建德市| 崇仁县| 丰台区| 会东县| 怀集县| 林芝县| 贵德县| 淅川县| 清徐县| 西安市| 阳山县| 凤凰县| 张家口市| 嘉义县| 仁化县| 保德县| 绵阳市| 新和县| 永泰县| 兴隆县| 紫金县| 平罗县| 曲阜市| 河北省| 沈阳市| 新乡县| 遂平县| 合江县|