VPN时通过FTP上传文件

时间:2015-08-11 00:39:32

标签: java ftp apache-commons-net

我有一个简单的程序,可以将文件上传到FTP服务器。 当我不在VPN(Hotspot Shield)上时,这种方法有效。

FTPClient ftp = new FTPClient();
ftp.connect(ftpServer);
ftp.login(log,pw);
ftp.changeWorkingDirectory(dir);

File f = new File(FileName);
final InputStream is = new FileInputStream(f.getPath());
ftp.storeFile(f.getName(), is);

ftp.disconnect();
is.close();

但是,当我连接到VPN时,它运行时没有任何错误,并且不会抛出任何异常,但该文件无法上传。

我已尝试通过命令窗口进行FTP, 当我尝试mput时,它给了我这个错误:

  

"我无法打开与随机IP地址的连接' (另一个是另一个人   随机ip')

所以现在我认为这是VPN的某种FTP限制问题?

有人对此有任何经验吗?

感谢。

编辑:

我找到了一个解决方案, 在storeFile()之前调用ftp.enterLocalPassiveMode();似乎已经解决了错误。

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方案,在ftp.enterLocalPassiveMode();似乎已解决错误之前调用storeFile()