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中文件上传下载的原理
文件上传原理
表单提交->二进制编码->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中文件上传下载的原理
相关文章推荐
- java文件的上传与下载原理(使用Servlet)
- java分页原理和文件上传下载
- Java文件上传下载 源码
- 自己写的一个JSP上传文件和下载文件的JavaBean 自己写的一个JSP上传文件和下载文件的JavaBean
- 自己写的一个JSP上传文件和下载文件的JavaBean
- jaVA使用FTP上传下载文件的问题
- java文件上传下载
- 一个JSP上传文件和下载文件的JavaBean
- 文件上传下载代码 java
- 文件上传下载:通过java方法把附件保存到clob字段中
- 用JAVA实现ORACLE数据库的文件上传、下载
- Java中如何使用组件实现文件上传下载
- java文件上传原理
- JAVA实现FTP文件上传下载文件
- jaVA使用FTP上传下载文件的问题
- [转载] java文件上传原理
- SERVLET与JSP_文件上传下载(4)-java
- java中的文件上传及下载组件介绍
- java文件上传下载
- Java Web 开发中文件的上传与下载(FTP/HTTP)