java ftp commonsnet_使用org.apache.commons.net.ftp.FTPClient上传下载的问题

卫才哲
2023-12-01

最近在学习使用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;

}

展开

 类似资料: