上周接到一个文件上传下载的需求,具体如下:

项目说明:

1.本项目采用ssh方式,实现文件的上传与下载功能;

windows连接远程服务有多种方式,网上有通过socket实现的;也有ftp方式连接和ssh方式。调研后,我采用的是SSH方式连接远程服务,因为我要远程操作服务器上的文件和文件夹,对文件夹进行解压和压缩功能。

 实现难点

1.java 实现对文件(夹)的压缩和解压;(java的工具类即可以实现)

2.java通过SSH方式连接远程服务,并远程执行cmd命令;(引用的jar包ganymed-ssh2-build210.jar)

3.在本地通过java调用Windows命令Runtime.getRuntime();runtime.exec(cmd).waitFor()

2.上传下载流程:

1.上传
          压缩对应的文件夹,生成临时文件.zip 
         ---->上传临时文件.zip,上传成功,删除本地临时文件  
         ----> 远程服务上解压到服务器指定路径,并删除服务器上临时zip文件 
        2.下载
         压缩服务器指定文件夹,生成临时文件.zip
         ---->下载压缩文件到本地指定路径,下载完成,删除服务器上的 zip文件
         ---->解压本地压缩包,解压完成,删除 zip包

3.代码说明:

com.remote.bean        实体类
        com.remote.utils       工具类
        com.route              上传/下载文件的入口类
        com.test               测试类
        项目根目录libs目录              所依赖的jar包
        项目根目录command目录      配置信息

4.配置文件内容说明:

down;132.232.143.221;21;Administrator;test;C:\ftp\服务器测试\;E:\wangzgCode\sshLocal\;测试
        #down;服务IP地址;端口;服务器用户名;服务器密码;服务器文件夹的路径;本地保存地址;本地保存文件名
        up;132.232.143.221;21;Administrator;tess;E:\wangzgCode\sshLocal;C:\ftp;服务器测试
        #up;服务器IP地址;端口;服务器用户名;服务器密码;本地文件夹的路径;服务器保存地址;服务器保存文件名

运行程序:

1.windows服务器需要安装

1.winrar.exe解压软件
        需要将winrar.exe到环境变量
        参考:https://jingyan.baidu.com/article/db55b6099d1e0d4ba30a2fc0.html
        
        2.ssh服务BvSshServer-Inst.exe软件
        下载链接:https://download.csdn.net/download/huaairen/10977766 
         配置参考:https://blog.csdn.net/u012145252/article/details/80739056

下一遍上具体的实现代码,请持续关注哦!

欢迎关注我的公众号"不安分的猿人",也可扫描二维码:

推荐阅读:

一位朋友的人工智能教程。零基础,通俗易懂!

手工制作SpringMVC框架

Java通过SSH实现文件上传下载功能相关推荐

  1. java文件流 m.jb51.net_FasfDFS整合Java实现文件上传下载功能实例详解

    今天使用Java代码实现文件的上传和下载.对此作者提供了Java API支持,下载fastdfs-client-java将源码添加到项目中.或者在Maven项目pom.xml文件中添加依赖 org.c ...

  2. JavaWeb实现文件上传下载功能实例解析

    转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web应用系统开发中,文件上传和下载功能是非常常用的功能 ...

  3. 项目_功能模块_基于Spring Boot的文件上传下载功能的设计与实现

    文章目录 基于Spring Boot的文件上传下载功能模块的设计与实现 1.前言 2.技术栈 3.关键源码 4.实现效果 4.1.登录 4.2.文件列表 4.3.上传文件测试 4.3.1.测试图片 4 ...

  4. 教你如何实现c#文件上传下载功能

    简单介绍一下c#文件上传下载功能实现. NuGet 安装SqlSugar Model文件下新建 DbContext 类 public class DbContext {public DbContext ...

  5. java实现文件上传下载功能

    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...

  6. java实现文件上传下载功能,javaweb文件的下载和上传功能的实现

    没有文件上传的普通form表单上传 上传的数值可以在servlet中获取得到 String s_bPublishDate=request.getParameter("fname") ...

  7. SpringMVC Web实现文件上传下载功能实例解析

    需求: 项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在20G内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以20G来进行限制. PC端全平台支持,要求支持Window ...

  8. 钉钉电脑端屏蔽文件上传下载功能的方法

    有些时候,为了保证企业内部资料的安全,往往需要屏蔽掉钉钉电脑端文件上传.下载功能.例如,上传功能往往会导致企业内部文件外泄,而下载功能有可能会下载到带毒的文档或者可执行文件.下面就介绍一种通过代理屏蔽 ...

  9. JavaWeb实现文件上传下载功能实例详解

    感谢原文作者分享,原文链接:http://www.jb51.net/article/96745.htm 这篇文章主要介绍了JavaWeb中的文件上传和下载功能的实现,在开发中,文件上传和下载功能是非常 ...

  10. 基于Servlet4的文件上传下载功能,原生态。

    效果展现 maven依赖 为了让同学们直接引入依赖,我这里贴出了dependencies <dependencies><!-- https://mvnrepository.com/a ...

最新文章

  1. nginx css 304 导致图片丢失_Nginx 从入门到实战
  2. argument在python里什么意思_在Python中星号*是什么意思?
  3. [Codeforces Round #162 (Div. 2)]A. Colorful Stones (Simplified Edition)
  4. 互联网1分钟 | 0328 阿里巴巴收购企业协作软件Teambition;完美世界:与谷歌达成战略合作,积极探索VR等新游戏类型...
  5. 浅谈AI视频技术超分辨率
  6. OpenCASCADE:拓扑 API之偏移、拔模、管道和演变形状
  7. Linux打包软件版本带时间,带你写一个 linux 下的打包软件 tar
  8. C/C++fflush(stdout)循环打印输出避免缓存区错误
  9. 私有网络解决方案Start9 Labs完成120万美元融资,以推动其硬件Embassy后续发展
  10. 1.根据MAC地址抓包
  11. 类似c语言sizeof,sizeof()与strlen()在C语言中有什么不同
  12. 深入浅出设计模式---2、单例模式和观察者模式
  13. 《那些年啊,那些事——一个程序员的奋斗史》八
  14. vector2Drawable(批量将png图片转换成android使用的矢量图 )
  15. python百万邮件群发软件_用python来群发邮件的程序代码
  16. 移动互联网感言(董烨/Joven.Dong)
  17. mysql distinct数量_MySQL SELECT DISTINCT和计数?
  18. Oracle12C--触发器(52)
  19. 基于C++的俄罗斯方块游戏的开发与设计
  20. 宝塔面板SSL证书显示不安全?这里我教你宝塔SSL证书如何配置及开启HTTPS访问的操作方法

热门文章

  1. 迅雷Chrome插件引发的Uncaught ReferenceError: xl_chrome_menu is not defined
  2. Lenovo System x 硬件Windows Server驱动下载
  3. UE4+Cesium
  4. linux查服务器硬件PN号,查看linux系统常用的命令,Linux查看系统配置常用命令
  5. CCF推荐的A类、B类、C类中文科技期刊2022
  6. Python3,10行代码,给pdf文件去水印,再也不用花费冤枉钱了。
  7. 使用Kotlin创建动态Android TextWatcher
  8. Cadence Allegro 差分走线单根走的方法图文教程
  9. ercharts一个页面能放几个_echarts 一个页面多个节点共用一个图表实例
  10. python车流量检测车流统计车辆计数yolov5 deepsort车流检测