最近在学习使用org.apache.commons.net.ftp.FTPClient进行上传时在客户端选择要上传的文件后取不到客户端路径,取到的是服务器的路径。下载时也是下载到服务器中而不是下载到客户端,...
最近在学习使用org.apache.commons.net.ftp.FTPClient进行上传时在客户端选择要上传的文件后取不到客户端路径,取到的是服务器的路径。下载时也是下载到服务器中而不是下载到客户端,其他的如删除、新建文件夹、重命名等都正常,请问是怎么回事,下面是代码。
在服务器上进行任何操作都是没问题的。
上传代码见图
下载代码:
public boolean download(String remoteFile, String localFile) {
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session = request.getSession();
boolean flag = false;
try {
boolean flag2 = connectServer();
if (flag2) {
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
ftpClient.enterLocalPassiveMode();
ftpClient.setFileTransferMode(FTP.STREAM_TRANSFER_MODE);
ftpClient.setBufferSize(1024);
ftpClient.setControlEncoding("UTF-8");
FTPClientConfig conf = new FTPClientConfig(
FTPClientConfig.SYST_NT);
conf.setServerLanguageCode("zh");
File file_in = new File(localFile);
FileOutputStream fos = new FileOutputStream(file_in);
flag = ftpClient.retrieveFile(directory + remoteFile, fos);
ftpClient.disconnect();
}
} catch (IOException ex) {
// flag = false;
System.out.println("not download");
System.out.println(ex);
} finally {
try {
ftpClient.disconnect();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return flag;
}
展开