关于FTPClient上传文件,返回true,但是服务器上没有文件。
我单独在普通Java项目中测试是可以的,但是把同样的代码放到web工程中,就出现如题所述的问题。
下面我贴一下关键部分的代码,也就是封装的实现上传功能的工具类,各位帮忙看看到底是何原因。
下面我贴一下关键部分的代码,也就是封装的实现上传功能的工具类,各位帮忙看看到底是何原因。
package org.zkforge.petshop.util;
import java.io.IOException;
import java.io.InputStream;
import java.net.SocketException;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
public class FTPUtil {
private static FTPClient ftpClient = new FTPClient();
static{
try {
ftpClient.connect("192.168.11.207");
ftpClient.login("myftp", "000");
ftpClient.setControlEncoding("GBK");
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
ftpClient.enterLocalPassiveMode();
int reply;
reply = ftpClient.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftpClient.disconnect();
System.err.println("FTP server refused connection.");
System.exit(1);
}
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* Upload file to FTP server and return the boolean result
* @param filename
* @param is
* @param path
* @return
*/
public static boolean upload(String filename,InputStream is,String path) {
try {
ftpClient.changeWorkingDirectory(path);
ftpClient.storeFile(filename, is);
is.close();
System.out.println("upload file success...");
return true;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
}
/**
* Return the instance of <code>FTPClient</code>
* @return
*/
public static FTPClient getFTPClient(){
return ftpClient;
}
/**
* close ftp connection
*/
public static void closeFTPConnection(){
try {
ftpClient.logout();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
if(ftpClient.isConnected()){
try {
ftpClient.disconnect();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
...全文
相关推荐
JAVA获取FTP文件列表
JAVA获取FTP文件列表,功能齐全。包括:链接到服务器,上传文件到FTP服务器,从FTP服务器上下载文件并返回下载文件长度,返回FTP目录下的文件列表,删除FTP上的文件及目录,关闭链接。
Java中FTPClient上传中文目录、中文文件名乱码问题解决方法
主要介绍了Java中FTPClient上传中文目录、中文文件名乱码问题解决方法,本文使用apache-commons-net工具包时遇到这个问题,解决方法很简单,需要的朋友可以参考下
使用FTPClient实现文件的上传下载
NULL 博文链接:https://1017401036.iteye.com/blog/2266160
java web FTPClient实现上传文件到指定服务器
主要为大家详细介绍了java web FTPClient实现上传文件到指定服务器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Java FTP 指定下载文件和上传文件到指定的服务器目录
已经测试 完全没问题 大可以满足你的简单需求 修改液很容易 里面有详细的注释说明


