您的位置:首页 > 编程语言 > Java开发

java中文件的上传和下载:文件上传和下载原理

2017-10-30 11:02 411 查看
在TCP/IP中,我们知道最早的上传机制为FTP,它是指将文件由客户端发送到服务器的标准机制。然而我们在jsp编程中不能使用FTP来上传文件,这是由于jsp运行机制决定的。

文件上传原理

表单提交->二进制编码->Servlet中使用二进制流获取内容

我们需要将表单内容设置为:

Method=”post” enctype=”multipart/form-data”

表单的enctype属性:

1、默认属性:application/x-www-form-urlencoded,只处理表单域中的value属性值,采用这种编码的方式的表单会将表单域的值处理成url编码方式

2、multipart/form-data,这种编码方式的表单会以二进制流的方法来处理表单数据。这种编码方式会将文件域指定文件的内容也封装到请求参数里

3、text/plain,这种方式主要适用于直接通过表单发送邮件的方式

文件下载原理

1、通过HttpServletResponse.setContentType方法设置Content-Type字段的值,设置为application/octet-stream或application/x-msdownload,决定客户端服务器以那种方式来接受返回的信息

2、通过HttpServletResponse.setHeader方法设置Content-Disposition头的值为”attachment;filename=文件名”,浏览器通过附件的形式来获取到用户上传的文件

3、读取下载文件,通过HttpServletResponse.getOutputStream方法返回ServletOutputStream对象来向客户端写入附件文件的内容

这就是java中文件上传下载的原理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息