使用FTPClient实现文件上传服务器
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实现文件上传服务器的更多相关文章
- Java FtpClient 实现文件上传服务
一.Ubuntu 安装 Vsftpd 服务 1.安装 sudo apt-get install vsftpd 2.添加用户(uftp) sudo useradd -d /home/uftp -s /b ...
- HTTP文件上传服务器-支持超大文件HTTP断点续传的实现办法
最近由于笔者所在的研发集团产品需要,需要支持高性能的大文件http上传,并且要求支持http断点续传.笔者在以前的博客如何实现支持大文件的高性能HTTP文件上传服务器已经介绍了实现大文件上传的一些基本 ...
- scp -本地文件上传服务器,指定端口
scp 命令可以将本地文件上传服务器,或者将服务器上的文件下载到本地, 1. 上传服务器: scp [本地文件目录] [服务器用户名]@[服务器名]:/[服务器上文件路径] 比如 scp /Doc ...
- 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 ...
- Java FTPClient实现文件上传下载
在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件.下载文件,本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件 ...
- JAVA中使用FTPClient实现文件上传下载
在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件.下载文件,本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件 ...
- QT TCP文件上传服务器
利用QT做为client端,纯C语言做为server端,利用tcp协议,实现client端向server端传递文件 Linux服务器端 //头文件 #include <stdio.h> # ...
- post提交/文件上传服务器修改
第一步:修改在php5下POST文件大小的限制 1.编修php.ini 找到:max_execution_time = 30 ,这个是每个脚本运行的最长时间,单位秒,修改为: max_exec ...
- andorid人员文件上传服务器的搭建(tomcat中)
1.将.war文件复制到tomcat服务器webapps下,启动服务器即可 2.访问工程路径http://localhost:8080/FileUpload/index.jsp即可测试上传 3.测试成 ...
随机推荐
- js打印窗口内容并当窗口内容较长时自动分页
项目环境Angular: 方法1.window.print() HTML页面上的代码: <div id="tenementBillTable" class="dia ...
- PostgreSQL的约束
约束类型:检查约束.非空约束.唯一约束.主键.外键 1. 检查约束 设置某个字段里的数值必须满足约束表达式的条件. 例:限制人的年龄在0~120之间,语句如下: create table perso ...
- 77、tensorflow手写识别基础版本
''' Created on 2017年4月20日 @author: weizhen ''' #手写识别 from tensorflow.examples.tutorials.mnist import ...
- CTF隐写——越光宝盒
0x题目 原题来自于实验吧:http://www.shiyanbar.com/ctf/1992 一句话,和一个PNG图片. 0x解题 1.下载图片以后,发现打不开. 首先想到的就是文件头可能被修改了, ...
- Data structure alignment by binary operation
在寫C的過程中,我們會很自然地以為,我連續宣告一堆大小不一的char array. 經過Complier之後這些char array未必是連續擺放.至於為什麼就要談到我們今天的主角了alignment ...
- MVC中的自定义标签分页控件,仅供大家学习!!
public static HtmlString ShowPageNavigate(this HtmlHelper htmlHelper, int currentPage, int pageSize, ...
- PAT 乙级练习题1001 害死人不偿命的(3n+1)猜想 (15)
1001. 害死人不偿命的(3n+1)猜想 (15) 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去, ...
- 整合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 ...
- 2018-2-13-win10-UWP-等级控件
title author date CreateTime categories win10 UWP 等级控件 lindexi 2018-2-13 17:23:3 +0800 2018-2-13 17: ...
- logging模板
logging模板是一个专门用来做日至系统的 缺点是不能指定编码格式 import logging#引入logging板块 logging.basicConfig(#这个日志的基本配置 level=, ...