java下载ftp服务器端文件直接打开

毕业后的第一份工作,

到手的第一个任务是 从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;
	}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值