qq_24083561
心情就像下雨天
2019-06-27 22:59
采纳率: 100%
浏览 1.1k
已采纳

FTPClient本地上传正常,部署后失败

1ftp环境没问题,用户权限没有问题。ftp在linux上安装。

2使用FTPClient上传,本地(win7)上传正常。

3部署到windows server服务器后,上传失败,提示超时。

以下是我的代码


        String ip = "*****";             
        String userName = "***";            
        String passWord = "***";             
        String remoteDirectoryPath = "/var/html";    //上传路径     
        String localFilePath = "C://123.jpg";   //本地文件 
        String remoteFileName = "111.jpg";   //上传后文件

        FTPClient ftpClient = new FTPClient();
        ftpClient.setConnectTimeout(10*1000);
        System.out.println("本地文件路径*****"+localPath);
        try {
            ftpClient.connect(ip,21);
            ftpClient.enterLocalPassiveMode();//本地关闭,部署打开
            boolean isLogin = ftpClient.login(userName, passWord);
            System.out.println("uploadFile 登陆成功 " + isLogin);
            ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
            ftpClient.changeWorkingDirectory(remoteDirectoryPath);
            InputStream is = new FileInputStream(new File(localFilePath));
            boolean isStore = ftpClient.storeFile(remoteFileName, is);
            System.out.println("上传成功 " + isStore);
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                ftpClient.logout();
                ftpClient.disconnect();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

8条回答 默认 最新

  • qq_24083561
    心情就像下雨天 2019-07-01 10:31
    已采纳

    好坑啊,终于解决掉了。
    安全组策略增加(1024/65535)
    1024/65535是被动模式传输文件的端口号。
    若使用主动模式,其端口号为20端口。

    点赞 评论
  • wojiushiwo945you
    毕小宝 2019-06-28 09:12

    还是一共从环境上找问题,检查下本地环境和目标环境的额区别。是不是目标环境上没有开通 FTP 连接端口呢?

    点赞 评论
  • huxin889
    huxin889 2019-06-28 09:43

    如果可以的话,我建议远程 看一下

    点赞 评论
  • cccfire
    杨园亮 2019-06-28 10:17

    我遇到过一般是防火墙或者端口问题,把防火墙关了试下

    点赞 评论
  • qy_0626
    就写一行代码 2019-06-28 14:46

    感觉好像是写入的地址相关的问题 你试试排查一下是不是写入地址有啥问题比方说读写权限或者地址路径不对?或者是文件目录没有创建就写入文件异常?

    点赞 评论
  • I_know_I_Low
    I_know_I_Low 2019-06-28 15:40

    数据传输代码加上接收数据大小日志输出,可能是单位数据小导致的超时,如果是这样,可以将缓冲区设置的大一点

    点赞 评论
  • qq_38839739
    代码我只会COPY 2019-06-29 17:16

    也许是你应用服务器和ftp文件服务器网络都没有通额,你用应用服务器ping一下ftp文件服务器的ip 和端口试一下。

    点赞 评论
  • K8568225
    Daniel_Cn 2019-07-02 22:13

    还是需要远程分析下原因吧

    点赞 评论

相关推荐