ツールは、別のプロジェクトであります
ftp.propertiesプロファイルに必要な情報を抽出します
ftp_host = 192.168.110.128 ftp_port = 21 ftp_username = FTPUSER FTP_PASSWORD = FTPUSER ftp_dir = /ホーム/ FTPUSER / JD ftp_url =のhttp:// www.images.com
パッケージングツールFtpUtils
パブリック クラスFtpUtils { プライベート 静的な文字列ftp_host = nullを。 プライベート 静的な文字列ftp_port = nullを。 プライベート 静的な文字列ftp_username = nullを。 プライベート 静的な文字列FTP_PASSWORD = nullを。 プライベート 静的な文字列ftp_dir = nullを。 プライベート 静的な文字列ftp_url = nullを。 // 1、封装参数 静的{ 入力ストリームRIS = FtpUtils。クラス。.getClassLoader()getResourceAsStream( "ftp.properties" ); [プロパティ] PP = 新しいプロパティ(); 試す{ pp.load(RIS)。 ftp_host = pp.getProperty( "ftp_host" )。 ftp_port = pp.getProperty( "ftp_port" )。 ftp_username = pp.getProperty( "ftp_username" )。 FTP_PASSWORD = pp.getProperty( "FTP_PASSWORD" )。 ftp_dir = pp.getProperty( "ftp_dir" )。 ftp_url = pp.getProperty( "ftp_url" )。キャッチ(IOExceptionをE){ e.printStackTrace()は; } } / ** ** *内蔵のアップロードファイル静的リソースサーバ達成する * / パブリック 静的な文字列uploadFileは(リモート文字列は、入力ストリームローカル){ 試み{ //はオブジェクトを作成FTPClient FTPClientを=クライアントの新しい新FTPClient(); // 作成し、FTPサービスは、リンク client.connect(ftp_host、Integer.parseInt(ftp_portを)); // 認証 client.login(ftp_username、FTP_PASSWORD); //はアップロードするファイルの種類を設定します client.setFileType(FTP.BINARY_FILE_TYPE)。 // 切换工作目录 場合(!client.changeWorkingDirectory(ftp_dir)){ client.makeDirectory(ftp_dir)。 client.changeWorkingDirectory(ftp_dir)。 } // 上传 client.storeFile(リモート、ローカル)。 } キャッチ(例外例){ ex.printStackTrace(); } 戻り ftp_url + "/ JD /" + 遠隔。 } }
インポートのjarパッケージのバージョン:
<! - ftpclient客户端- > <! - FTP文件上传- > <依存> <groupIdを>コモンズネット</ groupIdを> <たartifactId>コモンズネット</たartifactId> <バージョン> 3.3 </バージョン> </依存関係>
テストコール:
/ ** *处理上传图片请求 * / @Override パブリックマップの<string、オブジェクト> uploadImageService(MultipartFile MF){ // TODO自動生成方法スタブ のHashMap <文字列、OBJECT>マップ= 新しい HashMapの<> (); 試す{ // 文件重命名 列OLDNAME = mf.getOriginalFilename()。 ストリング遠隔 = IDUtils.genImageName()+ oldName.substring(oldName.lastIndexOf( "" ))。 文字列のURL = FtpUtils.uploadFile(リモート、mf.getInputStream())。 map.put( "エラー"、0 ); map.put( "URL" 、URL); } キャッチ(IOExceptionを電子){ // TODO自動生成キャッチブロック map.put( "エラー"、1 ); map.put( "メッセージ"、 "上传失败" )。 e.printStackTrace(); } リターンマップ。 }
注意:springbootを使用し、それは、対応するXML設定ファイルが存在しないので、FTPを統合しました。