静态资源上传至远程ftp服务器,ftp工具类封装
Posted ncl-960301-success
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态资源上传至远程ftp服务器,ftp工具类封装相关的知识,希望对你有一定的参考价值。
工具类,是一个单独的工程项目
提取必要信息至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文件。
以上是关于静态资源上传至远程ftp服务器,ftp工具类封装的主要内容,如果未能解决你的问题,请参考以下文章
阿里云ftp连接工具,阿里云ftp连接工具使用教程,宝塔面板备份网站文件至ftp服务器教程。