zoukankan      html  css  js  c++  java
  • commons-fileupload 核心API 分析

    1、ServletFileUpload 文件上传核心类
    static boolean isMultipartContent(javax.servlet.http.HttpServletRequest request)
    判断request的编码方式是否为multipart/form-data

    java.util.List parseRequest(javax.servlet.http.HttpServletRequest request)
    解析request,将请求体每个部分封装FileItem对象,返回List
    (了解)
    void setFileSizeMax(long fileSizeMax) //设置单个文件上传大小
    void setSizeMax(long sizeMax) //设置总文件上传大小
    void setHeaderEncoding(java.lang.String encoding)
    //设置编码集 解决上传文件名乱码
    3、FileItem 表示文件上传表单中 每个数据部分
    boolean isFormField() 判断该数据项是否为文件上传项,
    true 不是文件上传 false 是文件上传

    if(fileItem.isFormField()){
       // 不是上传项
       java.lang.String getFieldName()  获得普通表单项name属性值
       java.lang.String getString()    // 获取非上传文件表单域的数据
       获得普通表单项value属性 传入编码集用来解决输入value乱码 
    }else{
       // 是上传项-- 上传文件
       java.lang.String getName() 获得上传文件名 (注意IE存在路径)
       java.io.InputStream  getInputStream() 获得上传文件内容输入流
       // 上传文件
       void delete()  删除临时文件(删除时,必须要管理输入输出流)
    }

    注意上传文件编码的设置问题:
    因为文件上传表单采用编码方式multipart/form-data 与传统url编码不同,
    所以getParameter 方法不能使用 setCharacterEncoding 无法解决输入项乱码问题
    采用apache自带的中文解决乱码处理:setHeaderEncoding(java.lang.String encoding)

  • 相关阅读:
    MyEclipse添加XML的xsd文件和dtd文件(自动补全xml节点代码)
    浅析Java中Map与HashMap,Hashtable,HashSet的区别(转载)
    jsp中:jsp声明与jsp脚本<%! int count=0;%> 与<% int count=0;%>
    JSP内置对象详细介绍(上)<转载>
    学习运用json
    win7与win7之间无法访问共享文件的问题解决(转)
    关于工作情绪化的问题
    Hadoop配置学习
    问题汇总
    mysql读写分离
  • 原文地址:https://www.cnblogs.com/lllini/p/11955321.html
Copyright © 2011-2022 走看看