java ftp上传失败_java ftp上传失败怎么办
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上传失败怎么办相关推荐
- java ftp传图片_Java 图片上传方式一 : ftp 图片服务器
一 : Linux ftp 图片服务器 1. Linux 安装 ftp linux服务器配置 安装ftp yum install vsftpd 启动服务 service vsftpd start 开机 ...
- java 连接 sftp失败_java – 文件上传到SFTP失败(Apache VFS)
我有一个SFTP问题( Windows WinSSHD).我尝试用 Apache Commons VFS在一个文件夹中写一个文件.在本地SFTP上我没有上传的问题,但在第二个SFTP上我总是得到以下错 ...
- java获取上传图片的大小_java 图片上传的处理,获取图片大小,宽高。
jsp代码 名称 * 图片 内容 js 方法 $(form).ajaxSubmit({ type: "POST", url:"photoes/addup", d ...
- java 如何上传文件_java如何上传文件 | 快速入门
关键词:路径 上传文件 表单 文件 上传 存放 后台 定义 代码 数据 详细内容 相关文章 中文网 控制台 字段 一:准备好前台页面Upload.html 表单 action=上传文件后台接口 met ...
- java上传下载_Java文件上传与文件下载实现方法详解
本文实例讲述了Java文件上传与文件下载实现方法.分享给大家供大家参考,具体如下: Java文件上传 数据上传是客户端向服务器端上传数据,客户端向服务器发送的所有请求都属于数据上传.文件上传是数据上传 ...
- java图片上传代码_java 图片上传
代码是最有力量的,嘎嘎 @CrossOrigin @ApiOperation(value = "上传图片", notes = "上传图片", httpMetho ...
- 上传文件java后台获取为空_java图片上传,通过MultipartFile方式,如果后台获取null检查是否缺少步骤...
本方法基于springMvc 1.首先需要在webap下创建images 2.在springmvc.xml上引入 3.配置web.xml过滤器 4.后台代码 import org.springfram ...
- java word上传下载_java poi 上传与下载word文件
java编程要实现对word的操作没有vb那种编程语言来得容易,得借助一些开源组件,其中就包括jacob.poi等, 而poi应用得最为广泛,对word2003和2007的读和写word操作都十分方便 ...
- java内存溢出怎么排查_java线上内存溢出问题排查步骤
一般线上遇到比较头疼的就是OOM内存溢出问题,我们都会先看错误日志,如果错误日志能够定位出哪个类对象导致内存溢出,那么我们只需要针对问题修改bug就好.但是很多时候我们单凭日志无法定位出内存溢出问题, ...
- java字符串标胶大小_Java 标签上显示string长度如果超出标签大小
展开全部 字符串String长度超出,会自动截取字符串,后面的以"..."三个小点代替. 保证真个字符串显示的长e68a843231313335323631343130323136 ...
最新文章
- MapReduce原理与设计思想
- Java从零开始学四十六(Junit)
- extmail电子邮件系统
- 添加全局函数$.extend和对象方法$.fn
- This function or variable may be unsafe
- 20、磁贴和磁贴通知(tile)(上)
- ArcGIS下的多节点可达性分析
- php投票系统制作,php简单的投票系统[原创]
- Starling 2D框架简介
- 前端H5怎么切换语言_「自学系列一」HTML5大前端学习路线+视频教程完整版
- linux自动重启保护,Linux在崩溃时自动重启应用程序 – 守护进程
- 上线不到两年 腾讯“小鹅拼拼”被曝即将关停
- WindowsForm如何实现类似微软project软件的甘特图?
- android 高德地图 java.lang.UnsatisfiedLinkError: Native method not found: com.autonavi.amap.mapcore.MapC
- NK细胞培养方法与优化解决方案
- 哦豁,女朋友都能被别人撩走,还不赶快去Coding回来
- 当cmd里安装不了Appium-Python-Client时,Requirement already satisfied: Appium-Python-Client in
- AES简介加密算法介绍
- ELK - docker
- 终于搞清前端和后端的区别啦!原来是这样的
热门文章
- 高等数学—两个重要的极限定理
- 个保法(PIPL)颁布实施一周年,给行业带来了哪些变化?
- 安泰测试-安捷伦N5182A射频矢量信号发生器
- 电脑仙人掌机器人作文_用蜗牛.仙人掌.电脑.雪人.机器人.蚕宝宝.大象任意选两个编写一则300童话...
- 如何用公式编辑器编辑直角三角形符号
- 概率论总结——泊松分布与指数分布
- 嵌入式软件工程师成长---所需要看的书籍
- 3.如何使用EXCEL进行数据分析,得出相应的拟合公式
- 什么是商业数据分析师?
- 哔哩哔哩如何提取封面_如何正确提取视频封面