【JAVAWEB学习笔记】29_文件的上传------commons-fileupload
今天内容:
文件的上传------commons-fileupload
文件上传和下载的实质:文件的拷贝
文件上传:从本地拷贝到服务器磁盘上 客户端需要编写文件上传表单---->服务端需要编写代码接受上传的 文件
文件下载:从服务器磁盘上拷贝到本地磁盘 需要编写服务端的代码,客户端的下载的工作浏览器内核解决的
一、文件上传
1、文件上传的步骤:
(1) 需要写一个文件上传表单
(2) 编写服务器端的代码用于接收上传的文件
2、客户端的编码
注意事项:

3、服务端接受文件上传的表单数据
文件上传接收原理

使用方便快捷的文件上传的工具---Apache Commons-fileupload.jar
使用步骤:
(1) 下载文件上传的jar包 fileuplaod 借助于 commons-io.jar

(2) 使用fileupload工具中的API进行编码
4、FileUpload工具中三个核心的对象
DiskFileItemFactory:磁盘文件项工厂--一些相关的配置的设置 缓存的大小 临时目录的位置
ServletFileUplaod:文件上传的一个核心类
FileItem:代表每一个表单项
5、快速入门
6、文件上传的API的详解
(1) DiskFileItemFactory
设置缓存大小:factory.setSizeThreshold() 单位是字节
设置临时文件的目录:factory.setRepository(File)
(2) ServletFileUpload
判断是否是一个文件上传的表单:ServletFileUpload.isMultipartContent(request);
解析request获得表单项的集合:upload.parseRequest(request);
设置上传的文件名的编码方式:upload.setHeaderEncoding("UTF-8");
(3) FileItem
判断是否是普通表单项:item.isFormField();
获得表单的name属性值:item.getFieldName();
获得表单的value值:item.getString("UTF-8") --- UTF-8表示获得中文时的编码
获得上传文件的名称:item.getName()
获得上传文件:item.getInputStream();
删除临时文件:item.delete();
【JAVAWEB学习笔记】29_文件的上传------commons-fileupload的更多相关文章
- 文件的上传Commons FileUpload(web基础学习笔记十六)
一.表单设置 <form action="<%=request.getContextPath()%>/jsp/admin/doAdd.jsp" enctype=& ...
- php学习笔记:文件的上传(包含设置文件的上传大小限制)
今天写的是文件上传,前几天自学的正规则又忘记了,用了很笨的方法去判断格式,直接上代码: <?php /** * Created by PhpStorm. * User: Administrato ...
- Javaweb学习笔记10—文件上传与下载
今天来讲javaweb的第10阶段学习.文件的上传与下载,今天主要说的是这个功能的实现,不用说了,听名字就是外行人也知道肯定很重要啦. 老规矩,首先先用一张思维导图来展现今天的博客内容. ...
- [原创]java WEB学习笔记72:Struts2 学习之路-- 文件的上传下载,及上传下载相关问题
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- JavaWeb框架_Struts2_(七)----->文件的上传和下载
这个章节是Struts2框架应用最广泛的三个版块(上传下载.国际化.校验输入)之一,所以这一版块的学习还蛮重要的. 1. 章节目录 Struts2文件上传 单文件上传 拦截器实现文件过滤 文件上传常量 ...
- java学习笔记 (8) —— Struts2 实现上传
1.新建upload.jsp <%@ page language="java" import="java.util.*" pageEncoding=&qu ...
- 【代码学习】PHP文件的上传和下载
===================== 文件上传和下载 ===================== 一.php.ini的配置信息 file_uploads = On /Off 是否允许文件上 ...
- SpringMVC学习09(文件的上传和下载)
文件上传和下载 准备工作 文件上传是项目开发中最常见的功能之一 ,springMVC 可以很好的支持文件上传,但是SpringMVC上下文中默认没有装配MultipartResolver,因此默认情况 ...
- 文件上传 - Commons FileUpload介绍
概述 FileUpload能够以多种不同的方式使用,具体取决于应用程序的要求.在最简单的情况下,调用单个方法来解析servlet请求,然后处理解析出来的Item集合.此外也可以自定义FileUploa ...
随机推荐
- DateTime.Now的一些用法
System.DateTime.Now.ToString("D"); //Tuesday, December 13, 2016 System.DateTime.Now.ToSt ...
- 光场相机重聚焦之二——Lytro Illum记录光场
上一节中大概讲述了光场相机和光场的参数化表示,这一节就说一下光场相机内部是如何记录光场以及实现重聚焦的. 博主用的是Lytro Illum,所以就以Illum为例来说了,Illum的功能还是挺多的,上 ...
- 用extjs6.0写一个点击新建窗口的功能
一.写一个按钮 注意id { id: 'ListEdit', text:'编辑', iconCls:'x-fa fa-edit' } 二.写新建的页面 下面我新建的是表单,有几点需要注意的: ① 因为 ...
- 使用SSH框架查出的实体集合用AJAX形式刷新到页面JOSONArray报异常
所报异常:net.sf.json.JSONException: java.lang.reflect.InvocationTargetException 问题根源:数据库中查出的日期是java.sql. ...
- C#中 dynamic 关键字
所有表达式都能隐式的转换成dynamic,因为所有的表达式最终都能生成从Object派生出的类型. ; int b = a; //隐式转换错误 int b2 = (int)a; ; int b3 ...
- 新建Android项目,会出现两个项目一个是自己创建的项目,另一个是“appcompat_v7”项目,这是怎么回事呢?该怎么解决呢?
做Android开发的朋友最近会发现,更新ADT至22.6.0版本之后,创建新的安装项目,会出现appcompat_v7的内容.并且是创建一个新的内容就会出现.这到底是怎么回事呢?原来appcompa ...
- webService基础知识--认识WebService
之前在找工作的时候,有面试官问到WebService,当时没有接触过,正好现在做的项目中有用到WebService,所以就趁着业余时间来学习了. 一.简介 先来看看百度百科对WebService的解释 ...
- Python-3------新年考试周的Python学习
2016一开始就是考试周,准备专业课的考试复习.每天上午复习,晚上复习到8点半,之后到10点这点时间来看Python.庆幸没有在忙碌的时候荒废 Python的学习. 期待寒假,以前寒假在家总是没事做, ...
- [luoguP2912] [USACO08OCT]牧场散步Pasture Walking(lca)
传送门 水题. 直接倍增求lca. x到y的距离为dis[x] + dis[y] - 2 * dis[lca(x, y)] ——代码 #include <cstdio> #include ...
- 安卓手机免root实现对其他软件最高管理(sandbox思想)
root之后的安卓系统并不稳定,root后有时候会出现一些系统的错误,如果实在忍受不了的话,这时候只能恢复出厂设置了.因此不root是最优的选择,但是不root情况下,并没有哪个软件可以实现对其它 ...