文件的上传和下载
2015-07-12 20:52
176 查看
上传原理
1、通过为表单元素提供Method = post,enctype=”multipart/form-data”属性让表单提交的数据以二进制编码的方式提交,在接收请求的Servlet中以二进制流进行接收,就可以取得上传文件的内容,从而实现文件的上传。
2、enctype属性
1.enctype默认的属性application/x-www-form-urlencoded只能处理表单中value属性值,采用这种编码方式的表单会将表单域的值处理成URL编码方式。
2.而multipart/form-data,则会将表单域的值处理成二进制流,这种编码方式会将文件域指定文件的内容也封装到请求参数里面,所以可以实现文件的上传。
3.text/plain,这种直接通过表单发送邮件。
下载原理:
通过response.setContentType方法设置content-type头字段的值,
通过respons.setHeader方法设置Content-disposition头的值为”attachment;filename=”文件名“。
读取文件内容,通过response.getOutputStream方法返回的ServletOutputStream对象来向客户端写入附件文件内容。
1、通过为表单元素提供Method = post,enctype=”multipart/form-data”属性让表单提交的数据以二进制编码的方式提交,在接收请求的Servlet中以二进制流进行接收,就可以取得上传文件的内容,从而实现文件的上传。
2、enctype属性
1.enctype默认的属性application/x-www-form-urlencoded只能处理表单中value属性值,采用这种编码方式的表单会将表单域的值处理成URL编码方式。
2.而multipart/form-data,则会将表单域的值处理成二进制流,这种编码方式会将文件域指定文件的内容也封装到请求参数里面,所以可以实现文件的上传。
3.text/plain,这种直接通过表单发送邮件。
下载原理:
通过response.setContentType方法设置content-type头字段的值,
通过respons.setHeader方法设置Content-disposition头的值为”attachment;filename=”文件名“。
读取文件内容,通过response.getOutputStream方法返回的ServletOutputStream对象来向客户端写入附件文件内容。
相关文章推荐
- MySQL系列之F-3------MySQL恢复
- LeetCode题解——Longest Common Prefix
- Android中的GridView反复调用getView和getCount,并且getView中的position的值几乎都是0
- scikit-learn:0.3. 从文本文件中提取特征(tf、tf-idf)、训练一个分类器
- 求一个数的因子个数
- Java 8 中HashMap源码分析
- HDU 4821 String
- Android点击EditText文本框之外任何地方隐藏键盘的解决办法
- 字节存放顺序:大尾,小尾
- [iuud8]基于cocos2dx2.26下载项目中的图片到本地(ios版)
- 《Spring技术内幕》笔记-第五章 数据库操作组件的实现
- 1331 - Minimax Triangulation(DP)
- 架构师速成7.2-为什么要学习协议、规范
- 架构师速成7.2-为什么要学习协议、规范 分类: 架构师速成 2015-07-12 20:50 330人阅读 评论(0) 收藏
- Python+Django+SAE系列教程10-----Django模板
- 哈工大操作系统实验1—系统初始化
- html5基础视频教程第一节
- J2EE基础知识JSP
- iOS模拟器,点击textfield为什么不弹出软键盘
- Git命令