工具類,是一個單獨的工程項目 提取必要信息至ftp.properties配置文件中 封裝FtpUtils工具類 導入jar包版本: 測試調用: 註:使用的是springboot,已經集成了ftp,所以沒有配置相應的xml文件。 ...
工具類,是一個單獨的工程項目
提取必要信息至ftp.properties配置文件中
ftp_host=192.168.110.128 ftp_port=21 ftp_username=ftpuser ftp_password=ftpuser ftp_dir=/home/ftpuser/jd ftp_url=http://www.images.com
封裝FtpUtils工具類
public class FtpUtils { private static String ftp_host = null; private static String ftp_port = null; private static String ftp_username = null; private static String ftp_password = null; private static String ftp_dir = null; private static String ftp_url = null; //1、封裝參數 static{ InputStream ris = FtpUtils.class.getClassLoader().getResourceAsStream("ftp.properties"); Properties pp = new Properties(); try { 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"); } catch (IOException e) { e.printStackTrace(); } } /**** * 實現建文件上傳到靜態資源伺服器 */ public static String uploadFile(String remote,InputStream local) { try { //創建FTPClient對象 FTPClient client=new FTPClient(); //建立和ftp服務的鏈接 client.connect(ftp_host, Integer.parseInt(ftp_port)); //身份驗證 client.login(ftp_username, ftp_password); //設置上傳的文件類型 client.setFileType(FTP.BINARY_FILE_TYPE); //切換工作目錄 if(!client.changeWorkingDirectory(ftp_dir)) { client.makeDirectory(ftp_dir); client.changeWorkingDirectory(ftp_dir); } //上傳 client.storeFile(remote, local); }catch(Exception ex) { ex.printStackTrace(); } return ftp_url+"/jd/"+remote; } }
導入jar包版本:
<!-- ftpclient客戶端 --> <!--ftp文件上傳--> <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.3</version> </dependency>
測試調用:
/** * 處理上傳圖片請求 */ @Override public Map<String, Object> uploadImageService(MultipartFile mf) { // TODO Auto-generated method stub HashMap<String, Object> map = new HashMap<>(); try { //文件重命名 String oldName = mf.getOriginalFilename(); String remote = IDUtils.genImageName()+oldName.substring(oldName.lastIndexOf(".")); String url = FtpUtils.uploadFile(remote, mf.getInputStream()); map.put("error", 0); map.put("url", url); } catch (IOException e) { // TODO Auto-generated catch block map.put("error", 1); map.put("message", "上傳失敗"); e.printStackTrace(); } return map; }
註:使用的是springboot,已經集成了ftp,所以沒有配置相應的xml文件。