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)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值