Java Web开发中的“文件上传与下载”大多使用“FTP协议”和“HTTP协议”两种传输协议进行传输,这两种协议各有优缺点。
HTTP:传输小于1M的文件,传输速度比FTP略快,批量和大文件传输的速度很慢。但是,相对于“FTP传输”,“HTTP传输”不需要使用“FTP服务器”。
FTP:传输大于1M的文件,速度比HTTP快。而且,相对于HTTP而言,文件越大,FTP传输速度越快。另外,使用FTP传输文件需要“FTP服务器”的支持。
一、文件上传
HTTP上传原理:在页面的form表单中加入<input type=“file“ name=“file“>类型的接口,当表单被提交时,file中所指的文件就会被写入request对象中。那么在服务器端,用户只要根据rfc1867协议解析request中的数据流就可以得到文件。
二、文件下载