FileItem1.isFormField用于判断是否是上传组件.如果是<input type="file">返回的就是false,否则返回true.2.getFieldName();返回值String,得到组件名称  <input name="">3.getName();返回值是String,得到的是上传文件的名称.注意:浏览器不同,它们得到的效果不一样。1.包含全路径名称  例如: C:\Users\Administrator\Desktop\a.txt2.只包含上传文件名称 例如:a.txt4.getString();这个方法可以获取非上传组件的内容,相当于  getParameter方法作用。问题:如果信息是中文,会出现乱码,解决方案  getString("utf-8");如果是上传组件,上传的文件是文本文件,可以获取到文件文件的内容。但是如果不是文件文件,例如:是一张图片,这样获取合适吗?5.获取上传文件的内容,保存到服务器端.item.getInputStream();它是用于读取上传文件内容的输入流.使用文件复制操作就可以完成文件上传。6.删除临时文件item.delete();------------------------------------------------------------
总结:关于文件上传时的乱码问题:1.上传文件名称乱码ServletFileUpload.setHeaderEncoding("utf-8");               2.非上传组件内容乱码FileItem.getString("utf-8");3.思考:上传文件信息是否会乱码,需要解决吗?不需要解决,因为我们在上传时,使用的字节流来进行复制。
FileItem 表示文件上传表单中 每个数据部分
boolean isFormField()  判断该数据项是否为文件上传项,true 不是文件上传 false 是文件上传
if(fileItem.isFormField()){// 不是上传项java.lang.String getFieldName()  获得普通表单项name属性java.lang.String getString() / java.lang.String getString(java.lang.String encoding) 获
得普通表单项value属性 传入编码集用来解决输入value乱码
}else{// 是上传项java.lang.String getName() 获得上传文件名 (注意IE6存在路径)java.io.InputStream    getInputStream() 获得上传文件内容输入流// 上传文件void delete()  删除临时文件(删除时,必须要管理输入输出流)
}注意事项:因为文件上传表单采用编码方式multipart/form-data 与传统url编码不同,所有getParameter
方法不能使用 setCharacterEncoding 无法解决输入项乱码问题

FileItem API详解及演示相关推荐

  1. 直播平台软件开发,展示弹窗常见API详解

    直播平台软件开发,展示弹窗常见API详解 showToast 演示代码 wx.showToast({title: "购买失败",icon: "error",du ...

  2. ServletFileUpload API详解

    ServletFileUpload1.ServletFileUpload upload=new ServletFileUpload(factory);创建一个上传工具,指定使用缓存区与临时文件存储位置 ...

  3. DiskFileItemFactory API详解

    核心API介绍1.DiskFileItemFactory作用:可以设置缓存大小以及临时文件保存位置. 默认缓存大小是 10240(10k).临时文件默认存储在系统的临时文件目录下.(可以在环境变量中查 ...

  4. HTML5新API详解之历史、地理位置处理、全屏处理

    历史 界面上的所有JS操作不会被浏览器记住,就无法回到之前的状态. 在HTML5中可以通过 window.history 操作访问历史状态,让一个页面可以有多个历史状态 window.history对 ...

  5. 百度PaddleOCR及云平台OCR API详解及示例

    百度PaddleOCR及云平台OCR API详解及示例 目录 百度PaddleOCR及云平台OCR API详解及示例 使用百度开源的PaddleOCR 多个开源代码库比较

  6. Java 8 Stream API详解--转

    原文地址:http://blog.csdn.net/chszs/article/details/47038607 Java 8 Stream API详解 一.Stream API介绍 Java 8引入 ...

  7. 【小白学PyTorch】扩展之Tensorflow2.0 | 21 Keras的API详解(下)池化、Normalization

    <<小白学PyTorch>> 扩展之Tensorflow2.0 | 21 Keras的API详解(上)卷积.激活.初始化.正则 扩展之Tensorflow2.0 | 20 TF ...

  8. Android复习14【高级编程:推荐网址、抠图片上的某一角下来、Bitmap引起的OOM问题、三个绘图工具类详解、画线条、Canvas API详解(平移、旋转、缩放、倾斜)、矩阵详解】

    目   录 推荐网址 抠图片上的某一角下来 8.2.2 Bitmap引起的OOM问题 8.3.1 三个绘图工具类详解 画线条 8.3.16 Canvas API详解(Part 1) 1.transla ...

  9. EXT核心API详解(二)-Array/Date/Function/Number/String

    EXT核心API详解(二)-Array/Date/Function/Number/String Array类 indexOf( Object o )  Number object是否在数组中,找不到返 ...

最新文章

  1. 数据结构--单链表(数组)
  2. C++primer :const限定符
  3. 从手机App通过WebSocket向浏览器推送数据
  4. C++ 执行cmd命令 并获取输出
  5. 删除putty的session 以及 putty的颜色设置值
  6. 前端实现省市县三级联动的功能
  7. java对人物画像分级_用户画像,该怎么分析?
  8. 人工智能部分相关名词解释
  9. 计算机网安全模式,电脑安全模式有什么用?
  10. 分布式Ruby解决之道 - DRb
  11. 设计模式|职责链模式--流程状态审批(枚举实现)
  12. linux grep本地ip,linux grep怎么查ip地址
  13. ios6.1.6可用微信_这是iOS 12.1的新增功能,今天可用
  14. openwrt的luci应用ipk包开发(二)
  15. 污水流量计对锅炉连续排污流量测量改造
  16. 关于建立技术兴趣小组的方案
  17. 微软CRM系统二次开发步骤以及注意事项
  18. MySQL基础 - 列的属性
  19. 高校计算机教研室工作计划,高校教研室工作计划
  20. python 编程开发 —— 字典(dict)介绍

热门文章

  1. 缓存之 ACache
  2. netty 粘包的解决策略
  3. PDF数据防扩散系统方案
  4. java实现多线程断点续传,上传下载 分享
  5. Asp.Net函数集
  6. 【CLRS】《算法导论》读书笔记(一):堆排序(Heapsort)
  7. 在Ubuntu 16.04下安装Matlab 2017a
  8. Java平台模块化系统(JSR 376)通过公开测评复议投票
  9. 错误代码: 1054 Unknown column #39;t.createUsrId#39; in #39;group statement#39;
  10. 使用jenkins进行git多分支项目打包时的一个小问题