龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

JavaBean实现多文件上传(3)

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
connectServer()完成与FTP服务器建立连接的功能,使用FtpClient的openServer(string server)方法打开远程FTP服务器,然后使用FtpClient的login(user, password)方法登录服务器。

  connectServer()完成与FTP服务器建立连接的功能,使用FtpClient的openServer(string server)方法打开远程FTP服务器,然后使用FtpClient的login(user, password)方法登录服务器。登录远程FTP服务器有两种方式,一种是注册用户登录,另一种是以匿名方式登录。前者要求用户首先注册为服务器的客户,服务器会给客户一个登录账号和密码,依据账号和密码连结到服务器上。后者要求用户不用注册而使用特殊的用户名"annoymous"和"guest"有限制的访问远程主机的公开文件,现在许多系统要求用户将Email地址作为口令。出于安全的目的,大部分匿名FTP主机一般只允许远程用户下载文件,而不允许上传,这将依赖于FTP服务器的设置。用户可根据实际情况选择使用两种方式。登录完成后使用FtpClient的binary()方法初始化传输方式为字节方式。upload()完成文件的上传功能。创建源文件的文件输入流FileInputStream,将输入流写入到字节数组中,利用TelnetOutputStream的write方法将字节数组中的数据写入到一个网络链接上。由于TelnetOutputStream打开的是FTP服务器上的一个文件,所以数据写入到了目标文件中,这样就完成了文件上传。closeConnect()要求与服务器断开连接。

  以上只是单个文件上传的过程,如果是多个文件可以多次调用此上传过程。由以上两种方式我们可以看出采用FTP协议实现多个文件的上传比较简单,容易实现。利用FTP协议上传文件一般是编写的客户端的程序,服务器端的安全设置会比较复杂;而利用HTTP协议上传文件则是服务器端的应用程序,相对来说安全设置会比较简单。并且通过测试发现FTP上传方式在传输大文件时速度是HTTP上传方式的几十倍甚至几百倍,但在传输小于1M的文件时却比HTTP上传方式稍慢一些。所以说两种传输方式各有优势,请读者根据自身情况量力而行。如果有什么问题或者是需要其他部分的源码,请与我联系!

精彩图集

赞助商链接