FTPClientでIMAGE_FILE_TYPEの定数が使えない
例えばこういう処理
if (ftpCl.changeWorkingDirectory(path)) { ftpCl.setFileType(FTP.IMAGE_FILE_TYPE); if (ftpCl.storeFile(makeFileName, uploadFileName)) { ftpCl.site("chmod 757 " + makeFileName); } else { return false; } }
ここで、FTP.IMAGE_FILE_TYPEという定数が無いといわれる。
原因
FTPClientには2つのバージョンが存在する。
Apache Commons Net
・Apache Commons Net 3.6 API
・Commons Net 1.4.1 API
IMAGE_FILE_TYPEの定数が存在するのはCommons Net 1.4.1 APIのバージョンの方のみであり、
Apache Commons Net 3.6 APIのライブラリを使っていたため怒られた。
解決策
Apache Commons Net 3.6 APIの方を用いる場合、
BINARY_FILE_TYPEを用いる。
if (ftpCl.changeWorkingDirectory(path)) { ftpCl.setFileType(FTP.BINARY_FILE_TYPE); if (ftpCl.storeFile(makeFileName, uploadFileName)) { ftpCl.site("chmod 757 " + makeFileName); } else { return false; } }