文件上传下载学习笔记

文件上传:允许客户将本地文件,上传到服务器端 
应用:上传照片、上传新闻图片、上传附件 

一、文件上传编程
1、在用户页面中添加上传输入项 (客户端页面操作)

注意事项:
1) 必须为文件上传input 提供name属性,否则文件上传内容不会被表单提交 
2) 表单的提交是post (get提交数据在url地址上显示,有长度限制) 
3) 设置enctype=multipart 使得文件上传编码 ----- MIME编码格式

2、在服务器端编写文件上传程序
通过request.getInputStream分析文件上传原理 

常用文件上传API : 
1) JSP独立开发年代 jsp-smartupload ---- JSP Model1 
jspSmartUpload是一个可免费使用的全功能的文件上传下载组件,适于嵌入执行上传下载操作的JSP文件中。
2) JSP+Servlet 开发web应用 Apache commons-fileupload ---- JSP Model2
FileUpload 是 Apache commons下面的一个子项目,用来实现Java环境下面的文件上传功能,与常见的SmartUpload齐名。
3) Servlet3.0规范中提供对文件上传的支持 

Apache commons-fileupload 使用
1) 去 http://commons.apache.org/fileupload/ 下载fileupload jar包 
同时下载 commons-fileupload 和  commons-io 两个包  -------- fileupload依赖io包 

2) 将jar包导入 web 工程WEB-INF/lib下 
3) 编程实现
步骤一:获得DiskFileItemFactory 文件项工厂
步骤二:通过工厂 获得文件上传请求核心解析类 ServletFileUpload 
步骤三:使用ServletFileUpload对request进行解析  ---- 获得很多个FileItem
步骤四:对每个FileItem进行操作 判断FileItem是不是普通字段 isFormField 
代表普通字段FileItem 
getFieldName();  ---- 获得表单项name属性
getString(); ----- 获得表单项value

代表文件上传FileItem
getInputStream() --- 获得文件内容输入流
getName() ------ 获得上传文件名称

你可能感兴趣的:(文件上传下载学习笔记)