java ftp上传失败怎么办?

最近做一个项目需要将文件上传至FTP指定目录,然后发现项目部署在tomcat就可以成功,部署在weblogic就失败,在网上找了很多原因一直没有解决。boolean isSuccee = ftp.storeFile(fileName, in);

这里一直返回false上传失败

然后看网上解决方案是添加ftp.enterLocalPassiveMode();仍然没有解决问题

直接上代码:

先链接ftp服务private static FTPClient ftp;

/*

* 获得ftp链接

*/

public static boolean connectFtp(Ftp ftpInfo) throws Exception {

ftp = new FTPClient();

boolean flag = false;

int reply;

if(ftpInfo.getPort() != null && !"".equals(ftpInfo.getPort())){

ftp.connect(ftpInfo.getIpAddr(),ftpInfo.getPort());

}else{

ftp.connect(ftpInfo.getIpAddr());

}

ftp.login(ftpInfo.getUserName(), ftpInfo.getPwd());

ftp.setFileType(FTPClient.BINARY_FILE_TYPE);

reply = ftp.getReplyCode();

if (!FTPReply.isPositiveCompletion(reply)) {

ftp.disconnect();

return flag;

}

ftp.changeWorkingDirectory(ftpInfo.getPath());

flag = true;

return flag;

}

然后是上传文件:/**

* 文件上传

* @param file

* @throws IOException

*/

public static void uploadFile(File file) throws IOException {

FileInputStream in = null;

try {

in = new FileInputStream(file);

String fileName = file.getName();

/**

* ftp.enterLocalPassiveMode();

* 这个方法的意思就是每次数据连接之前,ftp client告诉ftp server开通一个端口来传输数据。

* 为什么要这样做呢,因为ftp server可能每次开启不同的端口来传输数据,

* 但是在linux上或者其他服务器上面,由于安全限制,可能某些端口没有开启,所以就出现阻塞。

*/

ftp.enterLocalPassiveMode();

ftp.setFileTransferMode(FTP.STREAM_TRANSFER_MODE);

boolean isSuccee = ftp.storeFile(fileName, in);

int i = 1;

String newFileName = null;

while (!isSuccee) { //多次上传数据直到成功(最多12次)

newFileName = i + fileName;

isSuccee = ftp.storeFile(newFileName, in);

i++;

if(i>11){

break;

}

}

String ftpPath = ServiceConstans.ONEPORT_FTP_PATH;//驳船配载图上传到FTP的路径

if (isSuccee ) { //成功

logger.info("FTP:文件上传成功!");

if( newFileName == null){

ftp.rename(fileName, ftpPath+fileName); // 第一次上传就成功

}else{

ftp.rename(newFileName, ftpPath+fileName);

}

} else {

logger.info("FTP:文件上传失败!!");

throw new BusiException("FTP:文件上传失败!!");

}

} catch (FileNotFoundException e) {

logger.error("未找到相关文件!", e);

} catch (IOException e) {

logger.error("上传文件失败!", e);

} finally {

in.close();

//file.delete();//删除源文件

}

}

解决方案:

由于代码一直没有问题,从服务器方面检测;

因为web logic上的jar包版本低于项目中的jar包,没有强行设置查找本项目jar包的话会优先加载weblogic中的jar包所以由于版本过低导致上传失败

所以在weblogic.xml文件中添加上org.apache.commons.net.*这个包,这样会优先加载项目中的jar包,完毕!

相关推荐:《java学习》

java ftp上传失败_java ftp上传失败怎么办相关推荐

  1. java ftp传图片_Java 图片上传方式一 : ftp 图片服务器

    一 : Linux ftp 图片服务器 1. Linux 安装 ftp linux服务器配置 安装ftp yum install vsftpd 启动服务 service vsftpd start 开机 ...

  2. java 连接 sftp失败_java – 文件上传到SFTP失败(Apache VFS)

    我有一个SFTP问题( Windows WinSSHD).我尝试用 Apache Commons VFS在一个文件夹中写一个文件.在本地SFTP上我没有上传的问题,但在第二个SFTP上我总是得到以下错 ...

  3. java获取上传图片的大小_java 图片上传的处理,获取图片大小,宽高。

    jsp代码 名称 * 图片 内容 js 方法 $(form).ajaxSubmit({ type: "POST", url:"photoes/addup", d ...

  4. java 如何上传文件_java如何上传文件 | 快速入门

    关键词:路径 上传文件 表单 文件 上传 存放 后台 定义 代码 数据 详细内容 相关文章 中文网 控制台 字段 一:准备好前台页面Upload.html 表单 action=上传文件后台接口 met ...

  5. java上传下载_Java文件上传与文件下载实现方法详解

    本文实例讲述了Java文件上传与文件下载实现方法.分享给大家供大家参考,具体如下: Java文件上传 数据上传是客户端向服务器端上传数据,客户端向服务器发送的所有请求都属于数据上传.文件上传是数据上传 ...

  6. java图片上传代码_java 图片上传

    代码是最有力量的,嘎嘎 @CrossOrigin @ApiOperation(value = "上传图片", notes = "上传图片", httpMetho ...

  7. 上传文件java后台获取为空_java图片上传,通过MultipartFile方式,如果后台获取null检查是否缺少步骤...

    本方法基于springMvc 1.首先需要在webap下创建images 2.在springmvc.xml上引入 3.配置web.xml过滤器 4.后台代码 import org.springfram ...

  8. java word上传下载_java poi 上传与下载word文件

    java编程要实现对word的操作没有vb那种编程语言来得容易,得借助一些开源组件,其中就包括jacob.poi等, 而poi应用得最为广泛,对word2003和2007的读和写word操作都十分方便 ...

  9. java内存溢出怎么排查_java线上内存溢出问题排查步骤

    一般线上遇到比较头疼的就是OOM内存溢出问题,我们都会先看错误日志,如果错误日志能够定位出哪个类对象导致内存溢出,那么我们只需要针对问题修改bug就好.但是很多时候我们单凭日志无法定位出内存溢出问题, ...

  10. java字符串标胶大小_Java 标签上显示string长度如果超出标签大小

    展开全部 字符串String长度超出,会自动截取字符串,后面的以"..."三个小点代替. 保证真个字符串显示的长e68a843231313335323631343130323136 ...

最新文章

  1. MapReduce原理与设计思想
  2. Java从零开始学四十六(Junit)
  3. extmail电子邮件系统
  4. 添加全局函数$.extend和对象方法$.fn
  5. This function or variable may be unsafe
  6. 20、磁贴和磁贴通知(tile)(上)
  7. ArcGIS下的多节点可达性分析
  8. php投票系统制作,php简单的投票系统[原创]
  9. Starling 2D框架简介
  10. 前端H5怎么切换语言_「自学系列一」HTML5大前端学习路线+视频教程完整版
  11. linux自动重启保护,Linux在崩溃时自动重启应用程序 – 守护进程
  12. 上线不到两年 腾讯“小鹅拼拼”被曝即将关停
  13. WindowsForm如何实现类似微软project软件的甘特图?
  14. android 高德地图 java.lang.UnsatisfiedLinkError: Native method not found: com.autonavi.amap.mapcore.MapC
  15. NK细胞培养方法与优化解决方案
  16. 哦豁,女朋友都能被别人撩走,还不赶快去Coding回来
  17. 当cmd里安装不了Appium-Python-Client时,Requirement already satisfied: Appium-Python-Client in
  18. AES简介加密算法介绍
  19. ELK - docker
  20. 终于搞清前端和后端的区别啦!原来是这样的

热门文章

  1. 高等数学—两个重要的极限定理
  2. 个保法(PIPL)颁布实施一周年,给行业带来了哪些变化?
  3. 安泰测试-安捷伦N5182A射频矢量信号发生器
  4. 电脑仙人掌机器人作文_用蜗牛.仙人掌.电脑.雪人.机器人.蚕宝宝.大象任意选两个编写一则300童话...
  5. 如何用公式编辑器编辑直角三角形符号
  6. 概率论总结——泊松分布与指数分布
  7. 嵌入式软件工程师成长---所需要看的书籍
  8. 3.如何使用EXCEL进行数据分析,得出相应的拟合公式
  9. 什么是商业数据分析师?
  10. 哔哩哔哩如何提取封面_如何正确提取视频封面