时间:2023-07-31 08:54:01 | 来源:网站运营
时间:2023-07-31 08:54:01 来源:网站运营
搭建Ftp文件服务器-SpringBoot工程:FTP的api文档放在下一篇文章中/** * 获取ftp服务器连接 * @param config 配置信息 * @return */public static FTPClient getClient(FtpConfig config) { FTPClient ftpClient = new FTPClient(); try { ftpClient.connect(config.getIp(), config.getPort()); ftpClient.login(config.getUserName(), config.getPassWord()); ftpClient.enterLocalPassiveMode(); } catch (IOException e) { e.printStackTrace(); } return ftpClient;}
在服务器创建文件和切换到这个文件工作目录//在服务器创建文件boolean makeBoolean = client.makeDirectory(loginName);boolean changeBoolen = client.changeWorkingDirectory(loginName);
文件上传inputStream = file.getInputStream();//上传的文件获取流//文件重命名上传.client.storeFile(new String(name.getBytes("UTF-8"), "UTF-8"), inputStream);
这样ftp服务器就会创建一个文件夹,在文件夹中放入上传的文件 //直接用客户端读取到服务器制定文件下的文件输入流InputStream is = ftpClient.retrieveFileStream(路径+ File.separator + 文件的名称);//这里文件名称和后缀都要例如:2.txt
写入response中点击链接就会下载文件:response.addHeader("Content-Disposition", "attachment;filename=" + new String((name).getBytes("gb2312"), "ISO8859-1"));ServletOutputStream out = response.getOutputStream(); int len = 0; byte[] buffer = new byte[1024]; while ((len = is.read(buffer)) != -1) { length+=len; out.write(buffer, 0, len); } out.flush(); } catch (IOException e) { e.printStackTrace(); } finally { try { out.close(); is.close(); } catch (IOException e) { e.printStackTrace(); } } response.setHeader("Content-Length", "" + String.valueOf(length));
不会的可以参看FTP的api文档,在下一篇文档中关键词:工程,服务,文件