链接ftp,把文件或图片上传到ftp指定的文件夹中
/********************************************************************
*
*
* Filename : .java
* Author :
* Date : 2015年6月5日
* Version : V1.00
* Description :
*
* History : Modify Id | Date | Origin | Description
*******************************************************************/
package com.etCrm.utils.teamUtils;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
public class FtpUtils
{
public static FTPClient ftp = null;
/**
*
*
public static String url="";
/**
* FTP地址
*/
public static String ftpurl="";
/**
* FTP 端口
*/
public static String port="21";
/**
* FTP用户名
*/
public static String username="";
/***
* FTP密码
*/
public static String password="";
/**
* 文件路径
*/
public static String filepath="/home/web/teams/file/";
/**
* 图片上传
*/
public static String imgpath="/home/web/teams/img/";
public static String newpath="";
/**
*
* @Title: getdateyyymmdd
* @Description: 获取日期
* @return
* @return String 返回类型
* @author
* @since 1.0.0
*/
public static String getdateyyy() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
Date date=new Date();
return ""+sdf.format(date);
}
public static String getdateMMdd() {
SimpleDateFormat sdf = new SimpleDateFormat("MMdd");
Date date=new Date();
return ""+sdf.format(date);
}
public static String getdateHH() {
SimpleDateFormat sdf = new SimpleDateFormat("HH");
Date date=new Date();
return ""+sdf.format(date);
}
/**
* @Title: CreateDir
* @Description: TODO创建文件夹
* @param dirname
* @return void 返回类型
* @author
* @since 1.0.0
*/
/**
* 创建文件夹
* @param dir
* @param ftpClient
* @throws Exception
*/
/***
* @上传文件夹
* @param localDirectory
* 当地文件夹
* @param remoteDirectoryPath
* Ftp 服务器路径 以目录"/"结束
* */
//然后再利用ftpclient的makeDirectory方法创建文件夹
public static String createDir(String path){
try{
path=path+""+getdateyyy();
path=(path.substring(path.indexOf("teams")-1, path.length()));
ftp.makeDirectory(path);
path=path+"/"+getdateMMdd();
ftp.makeDirectory(path);
path=path+"/"+getdateHH();
ftp.makeDirectory(path);
System.out.println("在目标服务器上成功建立了文件夹: " + path);
return path;
}catch(Exception ex){
System.out.println(ex.getMessage());
}
return path;
}
/**
*
* @Title: uploadFile
* @Description: TODO(这里用一句话描述这个方法的作用)
* @param path
* @param filename
* @param input
* @return
* @throws Exception
* @return boolean 返回类型
* @author
* @since 1.0.0
*/
public static boolean uploadFile(String path,
String filename, InputStream input) throws Exception
{
boolean success = false;
ftp=new FTPClient();
try
{
int reply;
ftp.connect(ftpurl, Integer.valueOf(port));
// 登录FTP
ftp.login(username, password);
ftp.enterLocalActiveMode();
reply = ftp.getReplyCode();
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
System.out.println(reply);
if (!FTPReply.isPositiveCompletion(reply))
{
ftp.disconnect();
return success;
}
//图片文件夹
ftp.changeWorkingDirectory(path);
path= createDir(path);
// uploadDirectory();//创建文件夹
// path=path+""+newfile+"/";
newpath=path;
ftp.changeWorkingDirectory(path);
ftp.storeFile(filename, input);
input.close();
ftp.logout();
success = true;
}
catch (IOException e)
{
success = false;
throw e;
}
finally
{
if (ftp.isConnected())
{
try
{
ftp.disconnect();
}
catch (IOException e)
{
throw e;
}
}
}
return success;
}
/**
* 上传图片或者文件的方法
* @Title: uploadFtpFlie
* 上传图片或者文件的方法
* @param istype 0上传文件 1上传图片
* @param file
* @param fileName
* @return
* @return String 返回类型
* @author
* @throws IOException
* @since 1.0.0
*/
public static String uploadFtpFlie(String istype,File file,String fileName) throws IOException
{
FileInputStream in =null;
boolean isbool=false;
try
{
in = new FileInputStream(file);
if(istype.equals("0"))
{
isbool=FtpUtils.uploadFile(filepath,fileName,in);
if(isbool)
{
System.out.println(url+newpath+"/" +fileName);
return url+newpath+"/" +fileName;
}
else
{
return "error";
}
}
else
{
isbool=FtpUtils.uploadFile(imgpath,fileName,in);
if(isbool)
{
System.out.println(url+newpath+"/" +fileName);
return url+newpath+"/" +fileName;
}
else
{
return "error";
}
}
}
catch (Exception e)
{
// TODO 自动生成 catch 块
e.printStackTrace();
return "error";
}
finally
{
in.close();
}
}
public static void main(String agrs[]) {
try {
File file = new File("D:\\000.jpg");
String k= uploadFtpFlie("1", file, "22222.JPG");
System.out.println(k);
} catch (Exception e) {
e.printStackTrace();
}
}
}
转载于:https://www.cnblogs.com/qingfengliaoren/p/4636220.html
链接ftp,把文件或图片上传到ftp指定的文件夹中相关推荐
- java实现ftp连接、登陆、上传、下载、删除文件、获取目录、文件列表
全栈工程师开发手册 (作者:栾鹏) java教程全解 java实现ftp连接.登陆.上传.下载.删除文件.获取目录.文件列表等操作. 本地调试,首先需要在本机上开启ftp服务和ftp站点. 测试代码 ...
- 将图片上传到FTP服务器
[FTP服务器] 介绍一个 ftp客户端工具:iis7服务器管理工具 IIs7服务器管理工具可以批量管理ftp站点,同时具备定时上传下载的功能. 作为服务器集成管理器,它最优秀的功能就是批量管 ...
- 通过分布式把本地图片上传到FTP(1)
1.先打开Linix 打开终端 输入 [root@localhost 桌面]# cd -/ [root@localhost ~]# cd -/ [root@localhost /]# cd usr [ ...
- Swift中文件和图片上传处理
前言:基于Alamofire4.5网络框架开发的Swift项目中上传文件和图片代码参考. 上传文件 extension HttpRequestService {typealias UploadDone ...
- themyleaf 图片上传_javaEE --springboot #实现图片上传和回显 #单文件上传 #多文件上传 #ajax异步文件上传 (非常详细,从创建项目开始)...
实现文件上传和回显 1.新建一个SpringBoot项目,选择 Spring Web 和 thymeleaf 依赖 .pow.xml文件下的依赖如下 2.根据下图,创建如下文件 3.直接上代码 配置文 ...
- react简易实现图片上传组件-从相机或文件夹上传
简单做了个图片上传的组件: <div className={styles.uploadImg_main}><inputstyle={{display:'none'}}ref={(el ...
- nodeJs中间件Multer详解_使用express实现本地文件/图片上传到服务器指定目录
最终实现的效果,更改Input的值后,将图片显示出来.输入描述信息,提交后,图片上传到后台对应的路径下. Multer Multer 是一个node.js中间件,用于处理 multipart/form ...
- Asp.Net Core文件或图片上传
管理后台上传的图片或文件可能也需要在 Api 项目能够访问,考虑到文件的统一管理,后台的文件默认 是上传到 Api 项目里的. Web 项目里的配置文件 appsetting.json 中的 ApiS ...
- java muti实现图片上传_使用MultipartFile实现文件上传
项目中会经常实现文件上传功能,比如在前台页面中设置上传文件按钮,后台保存文件至服务器,操作完成后前台展示上传结果,如上传成功或者上传失败信息.使用MultipartFile可以很容易的实现文件上传功能 ...
最新文章
- 如何设置网页自动刷新(JSP,JS,HTML)
- PowerBI随笔(6)-filter、caculate、RELATED相关
- java写龟兔赛跑_简单的实现java多线程——龟兔赛跑
- Start here: portal to the lectures
- JBoss的简单配置
- 收银系统 mysql数据库_某大型超市收银系统数据库成功恢复
- 组合框绑定字符串数组的数据 c# 1614236088
- 全面解析Java的垃圾回收机制(转)
- es文件浏览器怎么用_谷歌出品的文件管理APP,比ES文件浏览器更简约
- Android 实现 相机、相册功能 + 图片存取数据库操作
- 使用 Laravel 5.5+ 更好的来实现 404 响应
- java中Excel转图片实现
- 大数据之spark_spark SQL的建表语句
- 单片机控制的双路有源滤波器设计
- Godot GUI探讨
- 图像区块分割与采样YUV4:2:0
- 2019 Multi-University Training Contest 6 1005	Snowy Smile —— 线段树
- 基于element-ui实现待支付订单显示定时器
- 批量生成独一无二的NFT猫猫图,这项目王多鱼会投吗?
- Tomcat 提示 -Djava.endorsed.dirs=/Users/admin/apache-tomcat-9.0.13/endorsed is not supported. Endorsed