毕业后的第一份工作,
到手的第一个任务是 从ftp服务器端下载文件,并直接调用系统默认程序打开
直接贴上Controller代码
<span style="white-space:pre"> </span>@RequestMapping("/downloadZj")
@ResponseBody
public Map<String,String> downloadZj(long sn, short xh) throws SocketException,
IOException {
Map<String,String> result = new HashMap<String,String>();
Map<String, Object> map = zjzsService.getPath(sn, xh);
if(map==null||map.size()==0){
result.put("success", "false");
result.put("msg", "该证据不存在");
return result;
}
String serverName = (String) map.get("SERVERNAME");
int port = Integer.parseInt(map.get("PORT").toString());
String userName = (String) map.get("USERNAME");
String pwd = (String) map.get("PWD");
String serverFile = (String) map.get("FUXDPATH") + "/"
+ map.get("ZIXDPATH") + "/" + map.get("WJMC");
FTPClient ftp = new FTPClient();
ftp.connect(serverName, port);
// 也可以采用默认端口直接连接FTP服务器
// ftp.connect(serverName);
int reply = ftp.getReplyCode();
if (FTPReply.isPositiveCompletion(reply)) {
if (ftp.login(userName, pwd)) {
zjzsService.recodelog("登录ftp服务器");
}
}
//下载文件到本地
File localFile = new File("E:\\" + (String) map.get("WJMC"));
OutputStream out = new FileOutputStream(localFile);
ftp.retrieveFile(serverFile, out);
// 打开本地文件
Desktop.getDesktop().open(localFile);
result.put("success", "true");
result.put("msg", "");
out.close();
ftp.logout();
if (ftp.isConnected()) {
ftp.disconnect();
}
return result;
}