アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっております。
commons-netを利用してのFTP送信を作成しています。

FTPClient fp = new FTPClient();
FileInputStream is = null;
fp.setDefaultPort(21);
fp.connect("XXX.XX.XXX.XX");
fp.login("ID", "PASS");
boolean isRemotePassive = fp.enterRemotePassiveMode();
fp.enterLocalPassiveMode();
fp.setFileType(FTP.BINARY_FILE_TYPE);
is = new FileInputStream("送信ファイル");
fp.storeFile("送信先", is);
fp.disconnect();
is.close();

と行っていますが、送信されません。
ログが見れないのでどこで落ちているのかわからない状況ですが、
firewallの設定がされている場合、上記方法で送信は可能でしょうか?

宜しくお願い致します。

A 回答 (1件)

fp.connect(...)の後に、


int reply = fp.getReplyCode();
if(!FTPReply.isPositiveCompletion(reply)){
fp.disconnect();
//失敗
}
という具合に応答コードの取得とそのチェックが
必要だと思います。

それから、たしかPASVモードにする場合には、
enterLocalPassiveMode()は必要ですが、
enterRemotePassiveMode()は不要だったと思います。

止まっている箇所は、各メソッドの戻り値を
調べればわかると思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!