中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在java web中使用FTPClient上傳文件到指定服務器

發布時間:2021-05-31 17:18:10 來源:億速云 閱讀:396 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關怎么在java web中使用FTPClient上傳文件到指定服務器,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

FPClient 實現上傳文件到指定服務器,供大家參考,具體內容如下

調用

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

方法

/** 
  * Description: 向FTP服務器上傳文件 
  * @param url FTP服務器hostname 
  * @param port FTP服務器端口 
  * @param username FTP登錄賬號 
  * @param password FTP登錄密碼 
  * @param path FTP服務器保存目錄 
  * @param filename 上傳到FTP服務器上的文件名 
  * @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服務器 
   //如果采用默認端口,可以使用ftp.connect(url)的方式直接連接FTP服務器 
   ftp.login(username, password);//登錄 
   reply = ftp.getReplyCode(); 
   if (!FTPReply.isPositiveCompletion(reply)) { 
    ftp.disconnect(); 
    return success; 
   } 
   //創建路徑
   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; }

一些細節

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

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

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

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

看完上述內容,你們對怎么在java web中使用FTPClient上傳文件到指定服務器有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

贞丰县| 浦县| 南康市| 乌鲁木齐市| 罗源县| 得荣县| 萨迦县| 玛多县| 吴堡县| 雷波县| 百色市| 江西省| 东辽县| 邯郸市| 平凉市| 阳东县| 建德市| 揭东县| 苍南县| 鄂尔多斯市| 大同市| 东乌| 乌拉特中旗| 扬州市| 鸡泽县| 财经| 山东| 莫力| 德保县| 黄大仙区| 五峰| 桓台县| 昌都县| 墨玉县| 济阳县| 博爱县| 弥渡县| 雅安市| 邵武市| 玉屏| 新野县|