1. 上传文件时文件名中文乱码 upload.setHeaderEncoding("utf-8");
有个疑惑: 不管设置不设置都不乱码,但是刘帅龙老师讲的时候出现了乱码 .

2. 上传文件的目标文件夹必须指定, 若不指定怎么解决?

 File file = new File("E:/img");

 if (!file.exists()) {
  file.mkdirs();
} item.write(new File(file, item.getName()));

3. 上传文件至当前服务器目录下. 指定目录为

 File file = new File("D:/Develop/tomcat/apache-tomcat-7.0.94/webapps/studentManage/upload");

4. 若文件名相同则会覆盖原来的, 与实际需求相违 // 随机生成文件名不带拓展名

 String uuid = UUID.randomUUID().toString(); // 获取文件拓展名 (带点的)
2 String ext = item.getName().substring(item.getName().lastIndexOf(".")); //
3 System.out.println(ext); // .jpg
4 // 拼接成完整的文件名
5 String fileName = uuid.concat(ext);

5. 指定上传文件的大小

 // 指定文件大小, 超出范围则向前台发送"文件大小超出范围20K"
if (item.getSize() > 1024 * 20) { // 限定文件大小为20K
req.setAttribute("msg", "文件大小超出范围20K");
req.getRequestDispatcher("/jsp/regist.jsp").forward(req, resp); return;
}

6. 指定上传文件的类型

 // 指定文件的类型
if (!(".jpg".equals(ext) || ".png".equals(ext) || ".gif".equals(ext))) {
req.setAttribute("msg", "上传的文件格式不是.jpg或者.png或者.gif");
req.getRequestDispatcher("/jsp/regist.jsp").forward(req, resp);
return;
}

7.获取普通表单项的值

 // 注意: 由于所有的表单项都以二进制的形式存储在了list中, 所以不能采用req.getParameter();
// 的方式获取普通表单项的值
if ("uname".equals(item.getFieldName())) {
uname = item.getString("utf-8"); // 设置utf-8防止中文乱码
} if ("age".equals(item.getFieldName())) {
age = Integer.parseInt(item.getString("utf-8"));
} if ("score".equals(item.getFieldName())) {
score = Double.parseDouble(item.getString("utf-8"));
}

最新文章

  1. Tomcat启动失败Unrecognized Windows Sockets error: 0: JVM_Bind
  2. 移动互联网实战--Apple的APNS桩推送服务的实现(1)
  3. 在阿里云 centos 6.3上面安装php5.2(转)
  4. Python-While刷博爬虫
  5. javascript - 清空一个 array
  6. 转 C#开发微信门户及应用(1)--开始使用微信接口
  7. linux进程地址空间详解(转载)
  8. XX cannot be resolved to a type
  9. java 简单的数据增删该查
  10. codeforces 236A . Boy or Girl(串水问题)
  11. API CLOUD 快捷键
  12. C++运算符优先级 案例1
  13. 实践作业1:测试管理工具实践 Day2
  14. 基于busybox的Linux小系统制作 (initrd)
  15. Android Preference详解
  16. 并发concurrent---1
  17. oo第二次博客总结
  18. Graphviz的安装 - windows环境下
  19. centos 7 服务管理
  20. 在busybox里使用ulimit命令

热门文章

  1. ASS/SSA字幕格式
  2. tf.variable_scope()和tf.name_scope()
  3. 第08节-开源蓝牙协议栈BTStack数据处理
  4. Java多线程编程核心技术-第4章-Lock的使用-读书笔记
  5. go安装及使用
  6. face-api.js:一个在浏览器中进行人脸识别的 JavaScript 接口
  7. HDU6223 && 2017沈阳ICPC: G. Infinite Fraction Path——特殊图&&暴力
  8. 有关OutputDebugString的一点儿事实
  9. STL 二分查找
  10. 关于三层架构和MVC模式的思考