import ch.qos.logback.classic.Logger;
import org.apache.commons.net.ftp.*;
import org.slf4j.LoggerFactory; import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.List; public class uploadutil {
public final static Logger logger= (Logger) LoggerFactory.getLogger(uploadutil.class);
private static String ftpip=propertiesutil.getValue("ftp.server.ip");
private static String ftpuser=propertiesutil.getValue("ftp.user");
private static String ftppass=propertiesutil.getValue("ftp.password"); private int port;
private String ip;
private String user;
private String pass;
private FTPClient ftpClient; public uploadutil(int port, String ip, String user, String pass) {
this.port = port;
this.ip = ip;
this.user = user;
this.pass = pass;
} public String getUser() {
return user;
} public void setUser(String user) {
this.user = user;
} public int getPort() {
return port;
} public void setPort(int port) {
this.port = port;
} public String getIp() {
return ip;
} public void setIp(String ip) {
this.ip = ip;
} public FTPClient getFtpClient() {
return ftpClient;
} public void setFtpClient(FTPClient ftpClient) {
this.ftpClient = ftpClient;
} public String getPass() {
return pass;
} public void setPass(String pass) {
this.pass = pass;
}
public static boolean uploadok(List<File> filelist) throws IOException {
uploadutil u=new uploadutil(14147,ftpip,ftpuser,ftppass);
logger.info("start upload");
boolean result=u.uploads("work",filelist);
logger.info("end upload");
return result;
}
private boolean uploads(String remotepath,List<File> listfile) throws IOException {
boolean upload=true;
FileInputStream f=null;
if(connectserver(this.getPort(),this.getIp(),this.getUser(),this.pass)){
try {
ftpClient.changeWorkingDirectory(remotepath);
ftpClient.setBufferSize(1024);
ftpClient.setControlEncoding("utf-8");
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
ftpClient.enterLocalPassiveMode();
for(File file:listfile){
f=new FileInputStream(file);
ftpClient.storeFile(file.getName(),f);
}
} catch (IOException e) {
logger.error("文件上传异常",e);
upload=false;
e.printStackTrace();
}finally {
f.close();
ftpClient.disconnect();
} }
return upload;
}
private boolean connectserver(int port, String ip, String user, String pass){
ftpClient=new FTPClient();
boolean isok=false;
try {
ftpClient.connect(ip);
isok=ftpClient.login(user,pass);
} catch (IOException e) {
logger.error("链接服务器异常",e);
}
return isok;
} }

  

使用FTPClient实现文件上传服务器的更多相关文章

  1. Java FtpClient 实现文件上传服务

    一.Ubuntu 安装 Vsftpd 服务 1.安装 sudo apt-get install vsftpd 2.添加用户(uftp) sudo useradd -d /home/uftp -s /b ...

  2. HTTP文件上传服务器-支持超大文件HTTP断点续传的实现办法

    最近由于笔者所在的研发集团产品需要,需要支持高性能的大文件http上传,并且要求支持http断点续传.笔者在以前的博客如何实现支持大文件的高性能HTTP文件上传服务器已经介绍了实现大文件上传的一些基本 ...

  3. scp -本地文件上传服务器,指定端口

    scp 命令可以将本地文件上传服务器,或者将服务器上的文件下载到本地, 1.  上传服务器: scp [本地文件目录]  [服务器用户名]@[服务器名]:/[服务器上文件路径] 比如 scp /Doc ...

  4. JAVA中使用FTPClient实现文件上传下载实例代码

    一.上传文件 原理就不介绍了,大家直接看代码吧 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ...

  5. Java FTPClient实现文件上传下载

    在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件.下载文件,本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件 ...

  6. JAVA中使用FTPClient实现文件上传下载

    在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件.下载文件,本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件 ...

  7. QT TCP文件上传服务器

    利用QT做为client端,纯C语言做为server端,利用tcp协议,实现client端向server端传递文件 Linux服务器端 //头文件 #include <stdio.h> # ...

  8. post提交/文件上传服务器修改

    第一步:修改在php5下POST文件大小的限制   1.编修php.ini   找到:max_execution_time = 30 ,这个是每个脚本运行的最长时间,单位秒,修改为: max_exec ...

  9. andorid人员文件上传服务器的搭建(tomcat中)

    1.将.war文件复制到tomcat服务器webapps下,启动服务器即可 2.访问工程路径http://localhost:8080/FileUpload/index.jsp即可测试上传 3.测试成 ...

随机推荐

  1. js打印窗口内容并当窗口内容较长时自动分页

    项目环境Angular: 方法1.window.print() HTML页面上的代码: <div id="tenementBillTable" class="dia ...

  2. PostgreSQL的约束

    约束类型:检查约束.非空约束.唯一约束.主键.外键 1.  检查约束 设置某个字段里的数值必须满足约束表达式的条件. 例:限制人的年龄在0~120之间,语句如下: create table perso ...

  3. 77、tensorflow手写识别基础版本

    ''' Created on 2017年4月20日 @author: weizhen ''' #手写识别 from tensorflow.examples.tutorials.mnist import ...

  4. CTF隐写——越光宝盒

    0x题目 原题来自于实验吧:http://www.shiyanbar.com/ctf/1992 一句话,和一个PNG图片. 0x解题 1.下载图片以后,发现打不开. 首先想到的就是文件头可能被修改了, ...

  5. Data structure alignment by binary operation

    在寫C的過程中,我們會很自然地以為,我連續宣告一堆大小不一的char array. 經過Complier之後這些char array未必是連續擺放.至於為什麼就要談到我們今天的主角了alignment ...

  6. MVC中的自定义标签分页控件,仅供大家学习!!

    public static HtmlString ShowPageNavigate(this HtmlHelper htmlHelper, int currentPage, int pageSize, ...

  7. PAT 乙级练习题1001 害死人不偿命的(3n+1)猜想 (15)

    1001. 害死人不偿命的(3n+1)猜想 (15) 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去, ...

  8. 整合mybatis时报错:Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/tx]

    org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Una ...

  9. 2018-2-13-win10-UWP-等级控件

    title author date CreateTime categories win10 UWP 等级控件 lindexi 2018-2-13 17:23:3 +0800 2018-2-13 17: ...

  10. logging模板

    logging模板是一个专门用来做日至系统的 缺点是不能指定编码格式 import logging#引入logging板块 logging.basicConfig(#这个日志的基本配置 level=, ...